Consequences of root cause:
Static pointer to LLPanelStandStopFlying in LLPanelStandStopFlying::getInstance() becomes invalid when the instance of the LLPanelStandStopFlying is a child of floater while it is destroying.
Next usage of that pointed cause a crash.
Root Cause:
1. LLFloater::closeFloater sets floater invisible and marks floater as "dead" but does not destroy it.
2. But that instance was still in LLFloaterReg map. It is removed in LLFloater's destructor.
3. So it was possible on low fps to get "dead" floater with LLFloaterReg, LLFloaterMove in this case.
4. Then LLMortician deleted floater instance shown on previous step.
Call of setVisible(false) from the LLFloater's destructor does not call overridden LLFloaterMove's method (which is expected behavior.)
So, child panel LLPanelStandStopFlying was not re-parented to Main View and was destroyed with LLFloaterMove.
That leaded to the "Top Reason" described above.
FIX:
1. Ensure that LLPanelStandStopFlying is not a child of LLFloaterMove on its destroying.
2. Synchronized removing of a floater instance from the LLFloaterReg when it is marked as "dead".
Note: both changes fixes this bug independently, but I included both of them into result patch to avoid similar but in the future.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/781/
--HG--
branch : product-engine
- Removed code responsible for disabling actions panel when sitting.
- Removed LLFloaterMove::setEnabled() and replaced calls to it with calls showModeButtons() because it was the only code which remained there after first step of this fix.
Reviewed by Leyla Farazha at https://codereview.productengine.com/secondlife/r/655/
--HG--
branch : product-engine
- Added slide left and Move right buttons to movement actions panel, when inserting them in xml organized buttons in panel into 3 columns to make their position more easily configurable.
- Removed hiding of fly up and down buttons. When not flying(in walk/run mode) they act as jump ans crouch.
- Added movement mode(walk/run/fly) dependent tooltips for fly/jump/crouch and slide buttons.
- Added comment regarding implementation of move floater buttons toggling when user moves via keyboard (because it's not quite obvious and time consuming when you first encounter it) to LLFloaterMove::postBuild().
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/360
--HG--
branch : product-engine
This issue is a regression of EXT-1655: Move Floater is notified about "not flying" after it was notified about "sitting".
Fix: taking into account siting mode while notifying about "flying".
Reviewed by Eugene Mutavchi at https://codereview.productengine.com/secondlife/r/233/
--HG--
branch : product-engine
- moved code to show Stop Flying button in a common place for both cases: click on "Stand" btn & call "Stand Up" menu item
--HG--
branch : product-engine
- synchronized visibility of "stand_stop_flying_container" with a panel visibility when it is reparented from the Move Floater to container.
--HG--
branch : product-engine
- reason: fix for bug EXT-2504 (black bars present at top and bottom when in mouselook) (changing parent visibility of panel with "Stand/Stop flying" buttons)
- fix: updated condition to process visibility of the parent of the panel with "Stand/Stop flying" buttons: only if panel is not attached to Move Floater
NOTE: The same problem was for EXT-3632 (Move floater closes after user click on Stop Flying btn)
Reverted that fix for Stop flying button to be consistent with "Stand".
--HG--
branch : product-engine
* EXT-277 - Modifications to the Location Bar Context Menu
* EXT-252 - /whisper, /shout
* EXT-254 - IM chiclet counter
* EXT-267 - 'Status' drop-down menu doesn't drop in the Side tray / Me panel
* EXT-298 - Update Places Panel Spec to reflect latest Create Landmark format
* EXT-278 - Input Field History should display human readable names
* EXT-317 - Avatar profile isn't opened in the sidetray as Profile Info panel when selecting an avatar in the search
* Changes to notification tips
* Changes to movement and camera controls
* Side Tray functionality additions and code cleanup
QA:
New movement and camera controls. Test all movement and camera behavior against spec and expected behaviors, including sitting & standing.
Many other changes to the bottom bar.
Changes to local chat behavior.
DEV-11202: Unhandled Excpetion in pipeline.cpp.
Merged over updated windlight ui help text from windlight14.
Reverting a const change in a virtual that was not propagated to all overrides.
DEV-10957 stop and pause Media and music buttons do not work
DEV-10762 Displayed page in the client browser disappears when crossing property boundaries.
DEV-11220 replace misspellings in alerts.xml parameters of 'messsage'
DEV-11221 fix a misspelling of 'participants' in floater_chat_history.xml tooltip
DEV-11193 clean up some viewer strings related to Windlight help text
svn merge -r81144:81147 svn+ssh://svn/svn/linden/branches/1-19-1-viewer-threads
DEV-11110 Media browser history dropdown does not save items across sessions
Ran the xuiparse -process tool on all en-us xml files. This does NOT change any data, merely reorders attributes and cleans up tab/spacing.
DEV-11349 XML CLEANUP: fix duplicate sibling names in en-us xui files
DEV-11348 Change to llmimetypes.cpp broke Media Type dropdown
dev-10623 "parcels that played movies no longer work in combo-merge-ui"
DEV-11379 - crash in LLTabContainer::draw()
DEV-11377 Elminiate dangerous LLLinkedList and LLDoubleLinkedList from newview
DEV-11158 sculpties on the top10 crash list
DEV-11404 "Send Current URL to Parcel" does not set the MIME type
merge 80958:80959 maint-ui-9-qa, DEV-11105 -- Searching for people with 3 characters like "j l" hurts the database.
DEV-10489: no draw distance cheating
DEV-879: water noise frequency
DEV-10764: macbook air support
DEV-10878: Linux Intel945 support
DEV-7551: featuretable adjustments for framerate.
DEV-11426 Enormous mini-map.
DEV-11505 - Crash in gunzip_file.
Removed final LinkedList, SkipMap, and AssocList templates from the Viewer!
DEV-11115 truncated word in the Advanced Water Editor's modal help dialog