Fix terrain selection crash
See merge request OpenMW/openmw!1165
(cherry picked from commit ec4e3b04a7b394acaaa8319b89ce1237e9d4d6e6)
b84e41bd Avoid storing ref, dynamic cast worldspacewidget for safety
d62ddc00 Use QPointer to detect object existence, less verbose debug messages
cb42b528 Remove friend, make getEditMode public to allow editmode testing.
4b148180 Restucture code
08f7c73e Fix text
Define components_qt static library with all qt dependent components that also
depends on other components. Link only cs, wizard and launcher with qt
dependent components.
It is possible to allow longer strings but that will require an extension in the omwaddon format as well as changes to the reader to handle that extension. Such changes should be a separate MR.
(applied the patch in https://gitlab.com/OpenMW/openmw/-/issues/3066)
OpenCS - Fix moved reference - Issues #3514 and #4752
See merge request OpenMW/openmw!1051
(cherry picked from commit 2bee171c7990522da33c2667f7d079fa35f4ede0)
36c30f7f Fix for Issue #3514 where moving a reference to another cell is not handled properly.
40327681 Update the changelog.
- Quoting Qt-4.8: "Note: . Setting the property to true with setSortingEnabled() immediately triggers a call to sortByColumn() with the current sort section and order."
(copied the changes from commit SHA-1: 77394fce99281cea65f30c67dbcd69a2d3eeba88)
- Morrowind load over 300,000 references, so even small inefficiencies add up to longer loading times.
- std::map is used, but should try others, std::unordered_map or even std::vector
(copied the changes from commit SHA-1: 86945d19128468ad987b5bf4332602d613d25d9f)
- The order of info records with the same topic are maintained in Collection::mRecords
- The index lookup data structure are not ordered. The topic string is hashed. The infos for the topic are simply placed in a vector.
- The index values for appending or inserting a record takes prev/next values (if exist)
- FIXME: prev/next values are not adjusted for adding or removing records
- FIXME: undo after reordering does not reset the modified flag
(copied the changes from commit SHA-1: 06f9922822bf5a076894bce44bde37234d7ccee1)
(copied the changes from commits 68e16b6cee0f533027e1d8f1293b8a5582ac5a68 and 0de223c637d0820a97417d84796c1bfeb1836fb8)
NOTE: it is unclear how this change affects commit 61a4a0807b4ed2398b8169b477132b12a1a3a106
This is less error prone approach than use of MovedCellRef fields.
Also make separate functions for skipping and reading moved cell refs to avoid
passing special flags logic and null pointers for unused arguments.