diff options
author | andreykproductengine <akleshchev@productengine.com> | 2016-11-03 16:49:08 +0200 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2016-11-03 16:49:08 +0200 |
commit | a471a8e400684e62ab63c21f9044194c0b3f23ac (patch) | |
tree | eb58e8f1ad0f95c8d5b52de7a7431d8b3701206d | |
parent | a210ae50b03bae60e825b76c200980a31c9c93d8 (diff) |
MAINT-6580 Snapshot becomes blank after changing the size of Second Life window
-rw-r--r-- | indra/newview/llfloatersnapshot.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llsnapshotlivepreview.cpp | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index b5ba64716d..c0980719bb 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -762,7 +762,8 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL // hide old preview as the aspect ratio could be wrong checkAutoSnapshot(previewp, FALSE); LL_DEBUGS() << "updating thumbnail" << LL_ENDL; - getPreviewView()->updateSnapshot(TRUE); + // Don't update immediately, give window chance to redraw + getPreviewView()->updateSnapshot(TRUE, FALSE, 1.f); if(do_update) { LL_DEBUGS() << "Will update controls" << LL_ENDL; diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp index 049aae1336..0b5c4eb9ae 100644 --- a/indra/newview/llsnapshotlivepreview.cpp +++ b/indra/newview/llsnapshotlivepreview.cpp @@ -465,7 +465,11 @@ void LLSnapshotLivePreview::reshape(S32 width, S32 height, BOOL called_from_pare LL_DEBUGS() << "window reshaped, updating thumbnail" << LL_ENDL; if (mViewContainer && mViewContainer->isInVisibleChain()) { - updateSnapshot(TRUE); + // We usually resize only on window reshape, so give it a chance to redraw, assign delay + updateSnapshot( + TRUE, // new snapshot is needed + FALSE, // thumbnail will be updated either way. + AUTO_SNAPSHOT_TIME_DELAY); // shutter delay. } } } |