diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 35333d5426..b1214fd3c4 100755 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -103,6 +103,8 @@ public: //static void onClickAdvanceSnap(LLUICtrl *ctrl, void* data); static void onClickUICheck(LLUICtrl *ctrl, void* data); static void onClickHUDCheck(LLUICtrl *ctrl, void* data); + // FIRE-15853: HUDs, interface or L$ balance checkbox don't update actual screenshot image + static void onClickCurrencyCheck(LLUICtrl *ctrl, void* data); static void applyKeepAspectCheck(LLFloaterSnapshot* view, BOOL checked); static void updateResolution(LLUICtrl* ctrl, void* data, BOOL do_update = TRUE); static void onCommitFreezeFrame(LLUICtrl* ctrl, void* data); @@ -621,7 +623,14 @@ void LLFloaterSnapshot::Impl::onClickUICheck(LLUICtrl *ctrl, void* data) LLFloaterSnapshot *view = (LLFloaterSnapshot *)data; if (view) { - checkAutoSnapshot(getPreviewView(view), TRUE); + // FIRE-15853: HUDs, interface or L$ balance checkbox don't update actual screenshot image + //checkAutoSnapshot(getPreviewView(view), TRUE); + LLSnapshotLivePreview* previewp = getPreviewView(view); + if (previewp) + { + previewp->updateSnapshot(TRUE); + } + // updateControls(view); } } @@ -635,11 +644,35 @@ void LLFloaterSnapshot::Impl::onClickHUDCheck(LLUICtrl *ctrl, void* data) LLFloaterSnapshot *view = (LLFloaterSnapshot *)data; if (view) { - checkAutoSnapshot(getPreviewView(view), TRUE); + // FIRE-15853: HUDs, interface or L$ balance checkbox don't update actual screenshot image + //checkAutoSnapshot(getPreviewView(view), TRUE); + LLSnapshotLivePreview* previewp = getPreviewView(view); + if (previewp) + { + previewp->updateSnapshot(TRUE); + } + // updateControls(view); } } +// FIRE-15853: HUDs, interface or L$ balance checkbox don't update actual screenshot image +// static +void LLFloaterSnapshot::Impl::onClickCurrencyCheck(LLUICtrl *ctrl, void* data) +{ + LLFloaterSnapshot *view = (LLFloaterSnapshot *)data; + if (view) + { + LLSnapshotLivePreview* previewp = getPreviewView(view); + if (previewp) + { + previewp->updateSnapshot(TRUE); + } + updateControls(view); + } +} +// + // static void LLFloaterSnapshot::Impl::applyKeepAspectCheck(LLFloaterSnapshot* view, BOOL checked) { @@ -1116,6 +1149,9 @@ BOOL LLFloaterSnapshot::postBuild() childSetCommitCallback("hud_check", Impl::onClickHUDCheck, this); getChild("hud_check")->setValue(gSavedSettings.getBOOL("RenderHUDInSnapshot")); + // FIRE-15853: HUDs, interface or L$ balance checkbox don't update actual screenshot image + childSetCommitCallback("currency_check", Impl::onClickCurrencyCheck, this); + impl.setAspectRatioCheckboxValue(this, gSavedSettings.getBOOL("KeepAspectForSnapshot")); childSetCommitCallback("layer_types", Impl::onCommitLayerTypes, this);