LLObjectBridge::openItem() was concurrency modified.
Applied behavior that was changed in c3220f7f7699 according to
VWR-13743 FIXED Change Request: Change double click action for inventory wearables
DEV-33391 FIXED Change Request: Change double click action for inventory wearables
--HG--
branch : product-engine
Partial fix (until restart moderator's viewer)
* store "moderate_mode" session state
* if session is already in requested state participants un/mute individually.
Known Issue:
"moderate_mode" session state is set to false on startup. Thus if moderator join voice chat with disabled voice it has incorrect state.
In this case when he sends "Mute everyone" request first time it has effect only to himself. Other unmuted participants are not muted.
Next "Mute everyone" request works properly: one request per participant is sent.
Reviewed by Aimee Walton at https://codereview.productengine.com/secondlife/r/423/
--HG--
branch : product-engine
Seems, there is a problem somewhere in rendering of LLLAyoutStack children. Last visible panel marked as user_resize=true can not be resized and has no resize cursor.
Because we have no time & resources to investigate this closely a workaround is implemented for bottom tray:
* set user_resize for layout panel with Speak button which is always visible to user;
* set user_resize=false to don't have Speak button panel resizable.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/438/
--HG--
branch : product-engine
- LLPanelMainInventory::setUploadCostIfNeeded() - uncommented the line which enables retrieving of the upload cost price using LLGlobalEconomy class.
- Implemented LLUploadCostCalculator event handler in the llviewermenu.cpp (the fact that it should be implemented in this file was discussed with Mike Antipov).
- LLUploadCostCalculator::calculateCost() is implemented only for code readability: it's name is more descriptive than a code snippet placed directly in the constructor (LLPanelMainInventory::setUploadCostIfNeeded() works in similar way: it calculates cost_str only once).
- 'Select Linked Parts' menu was moved below 'Edit Linked Parts'.
- 'Upload' menu was added at the bottom, below 'Options' menu
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/425/
--HG--
branch : product-engine
DEV-33391 FIXED Change Request: Change double click action for inventory wearables
Pulled this from the AvP backlog and implemented it, as it's a pain point from Ben's usability findings. And people loooove this in 3rd party viewers.
(transplanted from cd0857d027305aec3dbdfe1940a04f7827e3a656)
Wearable editor previews were affecting the in-world avatar and not properly
resetting the changed parameters. Since the "body fat" slider is the last in
the default tab for the shape editor, this leaves your avatar fat.
Reconfigured the code to work through the wearables and most importantly
included a call to updateVisualParameters() at the end of the render function.
This appears to have fixed the issue - your avatar does not appear affected during
the avatar preview generation anymore.
Code reviewed by Seraph
Added code to shift camera focus to appropriate section of the avatar when
wearable editor accordion tabs are expanded / collapsed.
Known issue: camera does not shift properly when first opening wearable editor.
Will implement a selectDefaultSubpart() function later.
Code reviewed by Prep
Whitespace change as my last checkin was reviewed and tested to pass.
Avatar baked texture hashing now works across logins and uses the correct
texture indices.
Code reviewed by Vir
First pass at fixing baked texture hashing - unified the hash code to one
function, made sure all messages pass correct texture indices.
Initial code review by Vir
I think this is related - every time you wear one body part or a single piece
of clothing, it would remove all body parts, causing you to regenerate defaults
which makes you look like ruth. Simple error in logic, body parts should only
be replaced if they are being removed.
Code reviewed by Seraph