diff options
author | Richard Linden <none@none> | 2012-03-06 16:49:58 -0800 |
---|---|---|
committer | Richard Linden <none@none> | 2012-03-06 16:49:58 -0800 |
commit | 93aa231a18b9b5c9b3ab2ff162fa4928ac60d62b (patch) | |
tree | 196229dfd76340cdbd3efc1e0b01d6f8883f0d1a /indra/newview | |
parent | d3f1c6d77f0415d40a2eed6b62c98dbdb930689d (diff) |
EXP-1767 WIP Received Items panel state does not persist between sessions
ensure that layout stack has updated its layout before manually resizing one of its elements
(which was causing the manual resize to be stomped on by the newly triggered layout update)
made layout stack animation occur even when layout stack not visible (inventory will appear in proper open/closed state)
LLView::setShape() now only calls handleReshape() when dimensions change
removed extraneous calls to LLLayoutStack::updateClass() so that it should be called only
once per frame now, allowing it to limit animation updates to layout stacks to one per frame.
fixed rendering glitches arising from reshaping LLFolderView while in the middle of its draw() method
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llfloaterwebcontent.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llfolderview.cpp | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 3b5c3663fb..3fe2518de6 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -169,7 +169,7 @@ void LLFloaterWebContent::geometryChanged(const std::string &uuid, S32 x, S32 y, void LLFloaterWebContent::geometryChanged(S32 x, S32 y, S32 width, S32 height) { // Make sure the layout of the browser control is updated, so this calculation is correct. - LLLayoutStack::updateClass(); + getChild<LLLayoutStack>("stack1")->updateLayout(); // TODO: need to adjust size and constrain position to make sure floaters aren't moved outside the window view, etc. LLCoordWindow window_size; @@ -258,7 +258,7 @@ void LLFloaterWebContent::open_media(const Params& p) if (!p.preferred_media_size().isEmpty()) { - LLLayoutStack::updateClass(); + getChild<LLLayoutStack>("stack1")->updateLayout(); LLRect browser_rect = mWebBrowser->calcScreenRect(); LLCoordWindow window_size; getWindow()->getSize(&window_size); diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 86001e4146..4a42bb2c24 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -943,6 +943,9 @@ void LLFolderView::draw() // We should call this method to also notify parent about required rect. // See EXT-7564, EXT-7047. arrangeFromRoot(); + LLUI::popMatrix(); + LLUI::pushMatrix(); + LLUI::translate((F32)getRect().mLeft, (F32)getRect().mBottom); } } |