Age | Commit message (Collapse) | Author |
|
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.
|
|
LLMediaDataClient::Request no longer stores the LLSD payload -- it now uses the link to the LLVOVolume (which it was already keeping around) to generate the LLSD for the request at the time it's sent.
LLMediaDataClient::Request no longer stores a capability name. Instead it uses the reference to its parent LLMediaDataClient subclass to refer to it as needed.
LLMediaDataClient::Request is now a base class, with subclasses for each specific request type -- GET, UPDATE, and NAVIGATE.
Responders are now created by a virtual method in the LLMediaDataClient::Request subclass instead of being created by the MDC. This allows different request types to use different responder classes.
Fixed an issue with LLMediaDataClient::QueueTimer and LLMediaDataClient::RetryTimer that caused the unit test to fail (they now do all the work in their tick() functions instead of using the destructor).
|
|
Added tags to some media-related logging in LLVOVolume.
Made LLMediaDataClient::Responder do most of its work in tick() instead of its destructor.
Added a comment to llmediadataclient.cpp that explains the idea behind the two-queue system.
Made LLMediaDataClient::sortQueue() remove requests from the queue that hold references to dead items. This should make teleporting away solve many of the pathological queueing cases.
Updated llmediadataclient test cases to reflect the change in behavior in sortQueue().
Removed some unnecessary const-ness in LLMediaDataClient::enqueue, which caused it to have to use const_cast.
|
|
|
|
|
|
|
|
implemented childGetVisibleTab/PanelWithHelp using breadth-first-search iterator
moved tentative state from llview to lluictrl
changes llcallbackmap to use boost::function
|
|
|
|
LLPanel::child*() methods
|
|
LLPanel::child*() methods
|
|
|
|
|
|
|
|
|
|
|
|
|
|
is controlled depend on its visibility to user)
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
|
|
recent lltextbase changes)
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
from the Edit Outfit->Add More panel.
Restored fix that was previosly committed in 76bd52803506 and then somewhy reverted in 5b5cc4a8642d.
--HG--
branch : product-engine
|
|
|
|
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
People/Friends tab with data until it is visible to user first time.
* 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
|
|
(plus many dupes).
Enough seesawing, I hope - see WEB-1819 for discussion and the nature of the compromise.
Patch by Kitty Barnett, reviewed by my.
|
|
check-boxes was changed during refreshing of 'General' accordion)
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
|
|
while switching between folder/list view modes)
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
|
|
|
|
|
|
string for incoming ad-hoc chats.
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
|
|
|
|
|
|
selected item gets worn.
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
|
|
|
|
Restored a part of my fix that was somewhy reverted by Eli in rev. 0d364d4ddd91.
--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
|
|
menu entries from "hide if all can't be worn" to "hide if any can't be worn".
reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/813/
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
--HG--
branch : product-engine
|
|
|
|
|
|
|