From e4e4977f5eab5aac24c32b569c5273c4be926cb2 Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 11 Nov 2011 12:29:04 -0800 Subject: EXP-1527 FIX Debug values for windowwidth and windowheight can be set below minimum required values and EXP-1528 Launching viewer with a settings.xml file with windowwidth and windowheight set below minimum values, launches to those values not minimum window size --- indra/llwindow/llwindow.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'indra/llwindow/llwindow.cpp') diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index dc3a1099b1..a313885ca3 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -111,6 +111,8 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags) mCursorHidden(FALSE), mBusyCount(0), mIsMouseClipping(FALSE), + mMinWindowWidth(1024), // just a sanity check - actual minimum size is stored in settings.xml + mMinWindowHeight(768), mSwapMethod(SWAP_METHOD_UNDEFINED), mHideCursorPermanent(FALSE), mFlags(flags), @@ -179,6 +181,13 @@ void *LLWindow::getMediaWindow() return getPlatformWindow(); } +// virtual +void LLWindow::setMinSize(U32 min_width, U32 min_height) +{ + mMinWindowWidth = min_width; + mMinWindowHeight = min_height; +} + //virtual void LLWindow::processMiscNativeEvents() { -- cgit v1.2.3 From 20221c8e77824068d4a54885f5c57ace1c9660a2 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 28 Nov 2011 12:51:15 -0800 Subject: EXP-1485 FIX -- Viewer should have a minimum size moved min size logic into LLWindow --- indra/llwindow/llwindow.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'indra/llwindow/llwindow.cpp') diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index a313885ca3..4919605afd 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -111,8 +111,8 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags) mCursorHidden(FALSE), mBusyCount(0), mIsMouseClipping(FALSE), - mMinWindowWidth(1024), // just a sanity check - actual minimum size is stored in settings.xml - mMinWindowHeight(768), + mMinWindowWidth(S32_MAX), // just a sanity check - actual minimum size is stored in settings.xml + mMinWindowHeight(S32_MAX), mSwapMethod(SWAP_METHOD_UNDEFINED), mHideCursorPermanent(FALSE), mFlags(flags), @@ -181,11 +181,32 @@ void *LLWindow::getMediaWindow() return getPlatformWindow(); } +BOOL LLWindow::setSize(LLCoordScreen size) +{ + if (!getMaximized()) + { + size.mX = llmin(size.mX, mMinWindowWidth); + size.mY = llmin(size.mY, mMinWindowHeight); + } + return setSizeImpl(size); +} + + // virtual void LLWindow::setMinSize(U32 min_width, U32 min_height) { mMinWindowWidth = min_width; mMinWindowHeight = min_height; + + LLCoordScreen cur_size; + if (!getMaximized() && getSize(&cur_size)) + { + if (cur_size.mX < mMinWindowWidth || cur_size.mY < mMinWindowHeight) + { + setSizeImpl(LLCoordScreen(llmin(cur_size.mX, mMinWindowWidth), llmin(cur_size.mY, mMinWindowHeight))); + } + } + } //virtual -- cgit v1.2.3 From ef0552a090123974682790afdafec68218578113 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Fri, 2 Dec 2011 12:33:51 -0800 Subject: EXP-1642 FIX -- Viewer crash on startup on Mac Minimum window size setting no longer forces propagation to the OS before root view is initialized. --- indra/llwindow/llwindow.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'indra/llwindow/llwindow.cpp') diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index 4919605afd..0e17cffc9d 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -193,20 +193,22 @@ BOOL LLWindow::setSize(LLCoordScreen size) // virtual -void LLWindow::setMinSize(U32 min_width, U32 min_height) +void LLWindow::setMinSize(U32 min_width, U32 min_height, bool enforce_immediately) { mMinWindowWidth = min_width; mMinWindowHeight = min_height; - LLCoordScreen cur_size; - if (!getMaximized() && getSize(&cur_size)) + if (enforce_immediately) { - if (cur_size.mX < mMinWindowWidth || cur_size.mY < mMinWindowHeight) + LLCoordScreen cur_size; + if (!getMaximized() && getSize(&cur_size)) { - setSizeImpl(LLCoordScreen(llmin(cur_size.mX, mMinWindowWidth), llmin(cur_size.mY, mMinWindowHeight))); + if (cur_size.mX < mMinWindowWidth || cur_size.mY < mMinWindowHeight) + { + setSizeImpl(LLCoordScreen(llmin(cur_size.mX, mMinWindowWidth), llmin(cur_size.mY, mMinWindowHeight))); + } } } - } //virtual -- cgit v1.2.3 From 1e2d424f9e82a1d75a4b78b06910400f55c5169a Mon Sep 17 00:00:00 2001 From: Ansariel Date: Mon, 5 Dec 2011 23:35:29 +0100 Subject: STORM-1713: Mouse pointer flickers when hovering over any active/clickable UI item --- indra/llwindow/llwindow.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/llwindow/llwindow.cpp') diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index dc3a1099b1..9d0d73b81e 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -108,6 +108,7 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags) mSupportedResolutions(NULL), mNumSupportedResolutions(0), mCurrentCursor(UI_CURSOR_ARROW), + mNextCursor(UI_CURSOR_ARROW), mCursorHidden(FALSE), mBusyCount(0), mIsMouseClipping(FALSE), -- cgit v1.2.3 From 1df76279212aef112356570356e4c195490fec3b Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 7 Dec 2011 16:37:51 -0800 Subject: EXP-1675 POTENTIAL FIX -- Changed default min window width and height to 0 instead of max size. Reviewed by Richard. --- indra/llwindow/llwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llwindow/llwindow.cpp') diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index 0e17cffc9d..de7ce3db77 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -111,8 +111,8 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags) mCursorHidden(FALSE), mBusyCount(0), mIsMouseClipping(FALSE), - mMinWindowWidth(S32_MAX), // just a sanity check - actual minimum size is stored in settings.xml - mMinWindowHeight(S32_MAX), + mMinWindowWidth(0), + mMinWindowHeight(0), mSwapMethod(SWAP_METHOD_UNDEFINED), mHideCursorPermanent(FALSE), mFlags(flags), -- cgit v1.2.3