diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-07-28 10:59:53 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-07-28 10:59:53 +0300 |
commit | 6110cb6a36cb9cef39af0951ec47458696ac1da6 (patch) | |
tree | 834ec4b5d6a7824ed3ed51a101cf0638b5110384 /indra/llui/llstyle.cpp | |
parent | 75980159451eb4f80c1ac03ec4b9d8d488279840 (diff) |
EXT-8285 FIXED prevented wrong handling in accordion of the "scrollToShowRect" event from the child accordion tab's scroll container.
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
Diffstat (limited to 'indra/llui/llstyle.cpp')
0 files changed, 0 insertions, 0 deletions