There was a typo between the files saved and those loaded.
saved in sobjects_gridx_gridy.slc bload loaded from objects_gridx_gridy.slc
Q will review later ;-)
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
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
Problem was caused by getting item's icon always with FALSE value of item_is_multi argument in LLPanelInventoryListItemBase::postBuild().
- Used II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS flag to determine whether item is multiobject and getting appropriate icon.
Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/812/
--HG--
branch : product-engine
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
Reason:
When you click on a clothing link in COF, LLAppearanceMgr::wearItemOnAvatar() removes
all COF links of the clicked wearable type -- thus invalidating all previously
obtained LLViewerInventoryItems for those links -- and then passes such an
invalid item (item_to_wear) to addCOFItemLink() which of course crashes.
Fix:
1. Handle this case in wearItemOnAvatar(): don't try wearing COF items.
2. Disable the Wear button in the inventory SP when a COF item is selected.
3. Fixed get_can_item_be_worn() to return FALSE for items which are in COF or have links in COF.
Reviewed by Nyx at https://codereview.productengine.com/secondlife/r/811/
--HG--
branch : product-engine
- Added wrap=\"true\" for text boxes in which truncation occurs and increased their height to contain another one line
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/802/
--HG--
branch : product-engine
Bug was caused by multiobject's icon name index substitution with ordinary object's one. It happened because index was set depending on asset type in switch that followed "if" which set index for multiobject regardless of its result.
- Added returning index icon name inside of "if" block to avoid change of the index by switch for multiobject.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/804/
--HG--
branch : product-engine
- Added selected item type (in flat list view) as criterion when determining filter type in 'Add More' panel
- Fixed LLAccordionCtrl::getSelectedTab() method. When 'selection_enabled = false' for LLAccordionCtrlTab, LLAccordionCtrl::getSelectedTab() returned NULL, even if some accordion tab was selected. Now it's OK. Method returns currently selected LLAccordionCtrlTab.
Reviewed by Mike Antipov, Neal Orman and Richard Nelson at https://codereview.productengine.com/secondlife/r/790/
--HG--
branch : product-engine
Assumprion is: wide char buffer requires not more than input string length plus one for a null terminator.
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/775/
--HG--
branch : product-engine
Details:
1 Updated condition is item can be worn considering situation when item is copied in COF but is not worn.
2 Avoided code duplication in method LLOutfitsList::canWearSelected()
reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/785/
--HG--
branch : product-engine
- Fixed condition for enabling the Wear button in My Outfits.
- The button was always enabled when when COF change completes, I fixed that as well.
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/800/
--HG--
branch : product-engine
Details:
1 Provided using Object.EnableSit and Object.EnableTouch callbacks for both object menu and inspector gear menu. Now default menu item label stores in
hash map and since callback receives triggered control no need to hardcode updating menu item labels from callback.
2 Removed redundant attribute 'parameter' from menu xml's since now handler callbacks receives triggered menu item as function parameter.
3 Replaced LLObjectEnableTouch class with enable_object_touch function, since there no need on triggering callback on menu commit event.
4 Added symmetric method LLMenuItemGL::getValue().
5 Removed unused "Object.EnableGearSit" callback.
reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/774/
--HG--
branch : product-engine