Added a couple of new nav states to LLViewerMediaImpl: MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS and MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS. These behave just like the corresponding states without the _SPURIOUS suffix, but will be used if the new navigate doesn't change the current URL of the impl. This allows us to catch cases like the repro of this issue and discard the spurious navigate events.
implemented childGetVisibleTab/PanelWithHelp using breadth-first-search iterator
moved tentative state from llview to lluictrl
changes llcallbackmap to use boost::function
1. Removed special processing of Nearby People List Updater when:
* tabs in People panel are changed;
* People panel change its visibility.
2. Subscribed Nearby People List Updater's setActive() method directly to Nearby list Panel's onVisibleChange callback.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/825/
--HG--
branch : product-engine
In LLVOVolume, added a count of LLMediaDataClientObjectImpl objects referencing each LLVOVolume object. This allows LLVOVolume::markDead() to skip the relatively expensive calls to removeFromQueue() when the LLVOVolume is known to have no active references.
Refactored LLMediaDataClient and its two child classes so that only LLObjectMediaDataClient has the round-robin queue (LLObjectMediaNavigateClient doesn't need it), and cleaned up some of the virtual function hierarchy around queue processing.
In LLMediaDataClient, added tracking for requests that aren't currently in a queue (i.e. requests that are in flight or waiting for retries) so they can be found when their objects are marked dead.
LLMediaDataClient::Request now directly keeps track of the object ID and face associated with the request.
Removed the "markedSent" concept from requests. Requests that have been sent are no longer kept in a queue.
The Retry timer now references the Request object instead of the Responder.
Replaced LLMediaDataClient::findOrRemove() with separate template functions for find and remove.
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
* Moved location of synchronization of the Friends/All inventory folder with friends list from startup to first requesting of data.
* Also updated "update Friends list" logic to be really trigged only when Friends tab is visible to user.
NOTE:
* Friends List/All is filled with some delay on first opening.
TODO: refactoring is needed to switch code of updating People/nearby list to use the same approach as for Friends.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/805/
--HG--
branch : product-engine
Disable accordion while refreshing group properties so the user could not change properties during refresh
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/815/
--HG--
branch : product-engine
Added missed (during bad merge 14077:5b5cc4a8642d) code to the llpanloutfitedit(.h/.cpp):
recover LLPanelOutfitEdit::updateWearablesPanelVerbButtons() and LLPanelOutfitEdit::saveListSelection() methods
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/817/
--HG--
branch : product-engine
Added a new string "conference-title-incoming" to strings.xml
For now the "Conference" word is localized wherever this session name is shown:
* IM window title
* Voice notifications
Further Localization is out of scope of this ticket and will be done in a separate localization cycle.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/816/
--HG--
branch : product-engine
This is an additional fix to the one approved in https://codereview.productengine.com/secondlife/r/772/.
Looks like sometimes get_is_item_worn() fails to determine that an item is actually worn.
I suppose it happens when the item is already linked to COF but not yet known to LLAgentWearables.
So I try fixing it by adding a COF links check to get_is_item_worn(), so that an item is considered worn as soon as it's linked to COF.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/822/
--HG--
branch : product-engine
I'm actually restoring a part of the fix that was previosly committed in 75a1d14d6cc5 and then somewhy reverted in 0d364d4ddd91.
Trivial change, not reviewed.
--HG--
branch : product-engine