From 5bdf2a0cda79e7cf67818489e8d3a86232863758 Mon Sep 17 00:00:00 2001
From: NiranV <NiranV.Dean@googlemail.com>
Date: Wed, 20 Aug 2014 04:06:15 +0200
Subject: [PATCH] STORM-2060/STORM-2076: Fixed: Whole detection logic not
 working because of reasons i cannot seem to understand in this hypercube like
 snapshot floater.

---
 indra/newview/llfloatersnapshot.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp
index 3f9243381cd..31b743b7e88 100755
--- a/indra/newview/llfloatersnapshot.cpp
+++ b/indra/newview/llfloatersnapshot.cpp
@@ -814,13 +814,13 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL
 		previewp->getSize(width, height);
 
 		bool width_changed;
-		if(original_width != width)
+		if(getHeightSpinner(view)->isDirty())
 		{
-			width_changed = TRUE;
+			width_changed = FALSE;
 		}
 		else
 		{
-			width_changed = FALSE;
+			width_changed = TRUE;
 		}
 		updateSpinners(view, previewp, width, height, width_changed); // may change width and height
 		
@@ -952,6 +952,8 @@ void LLFloaterSnapshot::Impl::setImageSizeSpinnersValues(LLFloaterSnapshot *view
 // static
 void LLFloaterSnapshot::Impl::updateSpinners(LLFloaterSnapshot* view, LLSnapshotLivePreview* previewp, S32& width, S32& height, BOOL is_width_changed)
 {
+	getWidthSpinner(view)->resetDirty();
+	getHeightSpinner(view)->resetDirty();
 	if (checkImageSize(previewp, width, height, is_width_changed, previewp->getMaxImageSize()))
 	{
 		setImageSizeSpinnersValues(view, width, height);
-- 
GitLab