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
|
|
- Added methods responsible for saving and loading order of buttons to bottomtray. Order is saved after each drag'n'drop to
ensure user's customization of bottomtray is not lost because of crash.
- Added additional argument to layoutstack movePanel() method which tells it to move panel to the beginning of mPanels vector
without requiring a pointer to panel before which it should be inserted.
Reviewed by Vadim Savchuk.
|
|
- Though visually user drags buttons, layout panels are really moved. To move one panel before other, new method movePanelBeforeOther() was added to layout stack.
- When drag'n'drop is finished, order of panels in layout stack mToolbarStack is changed, and also order vectors are updated in bottomtray.These are vectors mButtonsProcessOrder and mButtonsOrder. mButtonsOrder was introduced in this changeset to store order of all bottomtray buttons that may change place via drag'n'drop and should save and load it between sessions. mButtonsProcessOrder is not enough for it because it contains only buttons that may be hidden(and for example Speak button is not included in it).
- To pass mouse events from buttons to bottomtray, new class LLBottomtrayButton was added (and new widget bottomtray_button for it).
Reviewed by Vadim Savchuk.
|
|
|
|
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
|
|
|
|
in context menu sub menu names
Use the same mechanism for adding the triangle in LLContextMenuBranch as
is already used in LLMenuItemBranchGL. As a bonus, the triangles will be
nicely right-aligned, just as in the main menu.
Remaining hard-coded triangles all are in indra/newview/skins/default/xui/*/panel_voice_effect.xml.
|
|
tabs.
Reviewed by Sergey Litovchuk.
|
|
|
|
Probably a regression from the prevalidator rework - was enforcing non-negative int when precision=0 (i.e. non-float), should have been enforcing only full int range.
|
|
|
|
Icon was being inserted before any text preceding the link.
Reviewed by Richard.
|
|
back-out the back-out for this branch. yay.
|
|
Backing out this merge that I pushed (prematurely) to the wrong place.
|
|
|
|
|
|
|
|
I've found out that the only case when pressing ESC doesn't transfer focus from side tray to game area is
when a flat list view (people, groups, teleport history, etc) is focused.
So, I fixed LLFlatListView to handle pressing ESC as expected.
Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/862/
--HG--
branch : product-engine
|
|
escape.
Though bug description mentioned only appearance, bug reproduced for all slidercontrols. The cause of returning on escape to old value
instead of last commited one was that on commit slidercontrol set text for it's lineeditor which was the same as the one currently typed
into lineeditor(and it seems logical). But LLLineEditor::setText() has check at it's beginning which compares text which is being set to the
one which is already there. If this check succeeds, we exit the method and thus saving of value for revert is not reached. That's why when revert happened
on escape older value then the last commited was set in lineeditor.
- Added additional call of setText() in sliderctrl to force changes in currently set text so that on next call with "real" text saving of reverted value was reached.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/856/
--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
|
|
Outfits tab is open.
- Removed "tab_stop" from outfit tabs to prevent passing focus to a tab chosen by default from LLUICtrl::focusFirstItem(). Besides the order of passing focus between outfit tabs by pressing "Tab" was undetermined.
- Had to remove const from the return of LLAccordionCtrl::getSelectedTab() to use the returned pointer for setting focus.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/846/.
--HG--
branch : product-engine
|
|
There were two problems:
1. Underlining broke when avatar's first and second name were on different lines.
2. There was no underline on hover for avatar miniinspector links in plaintext IM.
- First problem was caused by calling LLOnHoverChangeableTextSegment::draw() for the same segment twice- for first and second name that were
on different lines, while handleHover() was called only once. So handleHover() was called -> text was underlined -> first part of segment was
drawn underlined -> its draw set style back to normal -> second part of segment was drawn without underlining.
Fixed this by setting style back to normal only when drawing the last part of the segment.
- Second problem was caused by unusual way of appending link to text in chat history.
Changed it so that LLTextBase::appendText() now receives link not inside style params, but directly.
Also added "/inspect" ending to check in LLUrlEntryAgent::underlineOnHoverOnly().
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/833/
--HG--
branch : product-engine
|
|
panel from passing focus to folder view's scroll container.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/823/.
--HG--
branch : product-engine
|
|
drop-down list by mouse wheel)
Added parameter for scroll list control that determines opaque of mouse scroll wheel event. Set this parameter to \"true\" in combobox of navigation panel.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/829/
--HG--
branch : product-engine
|
|
under Advanced menu (French viewer) > Shortcuts)
Set translated label from strings.xml
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/831/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
scale != 1.0
|
|
feeeeling.
|
|
mouselook mode.
Commiting on behalf of Alex Productengine.
- Added check if floater is constructed in mouselook mode and added forcing dock state when floater is shown after constructing in mouselook mode.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/830/
--HG--
branch : product-engine
|
|
|
|
|
|
|
|
implemented childGetVisibleTab/PanelWithHelp using breadth-first-search iterator
moved tentative state from llview to lluictrl
changes llcallbackmap to use boost::function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
floaters are open and docked.
Bug was caused by LLDockableFloater's mOverlapsScreenChannel to false only in one of it's constructors. So some floaters got initial value of mOverlapsScreenChannel depending on system- that's why bug reproduced on Windows and didn't reproduce on Linux.
- Moved setting mOverlapsScreenChannel to false into LLDockableFloater's init() which is called by all of it's constructors.
Reviewed by Alexei Arabadji at https://codereview.productengine.com/secondlife/r/818
--HG--
branch : product-engine
|
|
Reason:
Check menu items (instances of LLMenuItemCheckGL) had used LLUICtrl::getValue() to know whether they should draw the checkmark.
Recently this was broken when getValue() was overriden in LLMenuItemCallGL to return a string.
Fix:
Overriden getValue() in LLMenuItemCheckGL to return a boolean value, not a string.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/821/
--HG--
branch : product-engine
|
|
|
|
"scrollToShowRect" event from the child accordion tab's scroll container.
This problem begins from expanding accordion_tab:
1. adjustToFitScreen - calls adjustContainerPanel with "fit screen" rectangle (calls reshape() and resize()).
Enter adjustContainerPanel("fit screen")
2. reshape calls ensureSelectedVisible -> scrollToShowRect...
scrollToShowRect notifyParent about "scrollToShowRect" (notifiParent is sync call)
Enter LLAccordionCtrl::notifyParent("scrollToShowRect")
4. AccordionCtrl handles "scrollToShowRect" notification and perform adjustContainerPanel with "another" rectangle.
Perform adjustContainerPanel("another") // At least I have not seen 3rd recursive call of adjustContainerPanel
5. Exit LLAccordionCtrl::notifyParent("scrollToShowRect")
6. Exit reshape("fit screen").
7. setRect("fit screen").
8. Exit adjustContainerPanel("fit screen").
...
As result we get AccordionTab that reshaped to "another" rectangle and resized to "fit screen" rectangle.
+ Fixed by handling "scrollToShowRect" message in LLAccordionCtrlTab from "LLScrollContainer".
+ Removed the workaround comment.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/727/
--HG--
branch : product-engine
|
|
|
|
|
|
|