Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
all floaters).
The crash was introduced by my previous fix of this ticket in changeset 8ceebd3612f0.
The problem was that, suprisingly, even invisible (faded) toasts were destroyed when you hit Ctrl_Shift+W,
however they were still referenced by the toast pool, so the references were invalidated.
The easiest fix would be to remove all references to the toast being destroyed, no matter is it visible or not.
However, then we'd have to search for each destroyed toast in the pool, which is slow.
Besides, removing toasts from the pool compromises the whole idea of pooling (which was introduced to speed up creation of new toasts).
Another possible fix is not to destroy any nearby chat toasts when user hits Ctrl+Shift+W.
That would save us from any crashes at a price of changing existing behaviour (the toasts will remain visible).
So I went for a third option: when closing all floaters, skip invisible ones.
Then there won't be attempts to destroy invisible (pooled) toasts, so the crash won't happen,
and we don't seem to change any existing behavior.
However I'm not 100% sure of the latter statement, so the fix requires extensive testing.
|
|
|
|
account-specific XML file.
The settings are now stored to settings_per_account.xml.
This change affects all floaters having save_rect/save_visibility/save_dock_state params set to "true",
not just detached sidebar tabs as the ticket requests.
|
|
Checker: UNINIT_CTOR
Function: LLFloaterView::LLFloaterView(const LLFloaterView::Params &)
File: /indra/llui/llfloater.cpp
|
|
previous session.
It is now possible to detach some sidebar tabs, exit the viewer, login again and see those tabs still detached.
Also fixed incorrect saving of tabs dimensions implemented in the previous commit (766d6e749836).
Reviewed by Sergey Litovchuk
|
|
tabs.
Reviewed by Sergey Litovchuk.
|
|
|
|
back-out the back-out for this branch. yay.
|
|
Backing out this merge that I pushed (prematurely) to the wrong place.
|
|
|
|
|
|
streamlined LLUICtrlFactory's interface
|
|
|
|
|
|
- Added callback on show\hide Mini Location Panel event. This callback sets proper initial minimized position depending on state (shown or hidded) Mini Location Panel. Also callback shifts vertically already minimized floaters so that they don't overlap Mini Location Panel
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/851/
--HG--
branch : product-engine
|
|
- Added callback on show\hide Mini Location Panel event. This callback sets proper initial minimized position depending on state (shown or hidded) Mini Location Panel. Also callback shifts vertically already minimized floaters so that they don't overlap Mini Location Panel
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/851/
--HG--
branch : product-engine
|
|
LLPanelStandStopFlying is always valid to prevent crash.
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
|
|
reviewed by Leyla
|
|
|
|
reviewed by Mani
|
|
the toast logic to set visibility on dialogs in reverse order was bringing older modal dialogs to the front
|
|
way at the top
also made floaters not update title label every time they are resized
|
|
topleft layout
reviewed by Leyla
|
|
|
|
|
|
of window.
Fixed code calculating title buttons rectangle, LLRect::isValid() does not indicate uninitialized rectangle, as a result rectangle was not properly initialized and had negative width.
Fixed title width.
Reviewed by Mike Antipov - https://codereview.productengine.com/secondlife/r/194/
--HG--
branch : product-engine
|
|
added logging to help track down cause
|
|
icons on title bar.
Changed the way floater title is reshaped. Calculations takes title buttons into account instead of using hardcoded values.
--HG--
branch : product-engine
|
|
Resolved conflicts in llpanellandmarks.cpp.
--HG--
branch : product-engine
|
|
|
|
- Set 'Close' text of tooltip instead of 'Close (Ctrl+W)' for close button of chrome floaters
Reviewed by Mike Antipov
--HG--
branch : product-engine
|
|
|
|
|
|
reviewed by Mani
|
|
|
|
|
|
|
|
--HG--
branch : product-engine
|
|
|
|
--HG--
branch : product-engine
|
|
|
|
|
|
|
|
|
|
|
|
Added customizable background image overlay color to control background transparency. Default overlay color is White, as before.
--HG--
branch : product-engine
|
|
this code reusable.
--HG--
branch : product-engine
|