STORM-1543 During busy mode inventory offers get silently deleted instead of thrown into trash
Review Request #444 - Created Aug. 19, 2011 and submitted
Vadim ProductEngine | Reviewers | ||
viewer | |||
STORM-1543 | richard.linden | ||
None | viewer-development |
In busy mode offered inventory items are now moved to trash. There were two bugs: 1. When auto-discarding inventory offers we looked up missing Busy button (i.e. a button having index=3) in the inventory offer notification dialog template. Failure to find the button resulted in ignoring inventory offers. Fixed that by "auto-clicking" the existing Discard button. 2. It turned out impossible to properly remove an inventory item from within LLDiscardAgentOffer::done(), because that would lead to nested LLInventoryModel::notifyObservers() calls. Fixed that by deferring removal until the next LLAppViewer::idle() iteration.
Posted (Aug. 22, 2011, 3:44 a.m.)
-
indra/newview/llappviewer.cpp (Diff revision 1) -
Would be clearer as: if (!mSignal.empty()) { mSignal(); mSignal.disconnect_all_slots(); }
Review request changed
Updated (Aug. 22, 2011, 4:10 a.m.)
-
- added Diff r2
More cleanup and comments, took Oz's feedback into account.
Posted (Aug. 23, 2011, 2:51 p.m.)
-
indra/newview/llviewermessage.cpp (Diff revision 2) -
since we don't set IOR_BUSY anywhere (and its not a valid response in any notification), let's delete the IOR_BUSY value altogether and replace this line with BOOL busy = gAgent.getBusy(); That will be a lot less confusing to the next person who needs to touch this code.
Review request changed
Updated (Aug. 25, 2011, 2:23 p.m.)
-
- added Diff r3
In response to Richard's feedback, removed invalid IOR_BUSY response option.
Other reviews