diff --git a/.hgtags b/.hgtags index b238c44b5e..4cc1302aac 100755 --- a/.hgtags +++ b/.hgtags @@ -587,3 +587,4 @@ ac3b1332ad4f55b7182a8cbcc1254535a0069f75 5.1.7-release 21b7604680ef6b6ea67f8bebaaa588d6e263bdc1 6.0.1-release a3143db58a0f6b005232bf9018e7fef17ff9ec90 6.1.0-release 50f0ece62ddb5a244ecb6d00ef5a89d80ad50efa 6.1.1-release +82a89165e5929a6c3073d6cd60a543cb395f147b 6.2.0-release diff --git a/doc/contributions.txt b/doc/contributions.txt index 5fd27169bf..2e3febbb13 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -223,6 +223,7 @@ Ansariel Hiller MAINT-8085 MAINT-8723 SL-10385 + SL-10891 Aralara Rajal Arare Chantilly CHUIBUG-191 diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp index d2a8dcbe8c..c3612df6fe 100644 --- a/indra/llui/lllineeditor.cpp +++ b/indra/llui/lllineeditor.cpp @@ -516,6 +516,13 @@ void LLLineEditor::setCursorToEnd() deselect(); } +void LLLineEditor::resetScrollPosition() +{ + mScrollHPos = 0; + // make sure cursor says in visible range + setCursor(getCursor()); +} + BOOL LLLineEditor::canDeselect() const { return hasSelection(); diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h index 9eb179f2f7..0f4cab4fab 100644 --- a/indra/llui/lllineeditor.h +++ b/indra/llui/lllineeditor.h @@ -217,6 +217,9 @@ public: void setCursor( S32 pos ); void setCursorToEnd(); + // set scroll to earliest position it can reasonable set + void resetScrollPosition(); + // Selects characters 'start' to 'end'. void setSelection(S32 start, S32 end); virtual void getSelectionRange(S32 *position, S32 *length) const; diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp index c4b92e95c1..21b1ab4abc 100644 --- a/indra/llui/llspinctrl.cpp +++ b/indra/llui/llspinctrl.cpp @@ -327,6 +327,7 @@ void LLSpinCtrl::forceSetValue(const LLSD& value ) LLF32UICtrl::setValue(value); updateEditor(); + mEditor->resetScrollPosition(); } } @@ -392,7 +393,9 @@ void LLSpinCtrl::onEditorCommit( const LLSD& data ) if( success ) { - updateEditor(); + // We commited and clamped value + // try to display as much as possible + mEditor->resetScrollPosition(); } else { @@ -529,6 +532,7 @@ BOOL LLSpinCtrl::handleKeyHere(KEY key, MASK mask) // text editors don't support revert normally (due to user confusion) // but not allowing revert on a spinner seems dangerous updateEditor(); + mEditor->resetScrollPosition(); mEditor->setFocus(FALSE); return TRUE; } diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 5e3254243a..024b066c0b 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -6.1.2 +6.2.1 diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index fade2aed76..f864625c9e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1841,15 +1841,15 @@ LLViewerWindow::LLViewerWindow(const Params& p) LLCoordScreen scr; mWindow->getSize(&scr); - // Reset UI scale factor on first run if OS's display scaling is not 100% - if (gSavedSettings.getBOOL("ResetUIScaleOnFirstRun")) - { - if (mWindow->getSystemUISize() != 1.f) - { - gSavedSettings.setF32("UIScaleFactor", 1.f); - } - gSavedSettings.setBOOL("ResetUIScaleOnFirstRun", FALSE); - } + // Reset UI scale factor on first run if OS's display scaling is not 100% + if (gSavedSettings.getBOOL("ResetUIScaleOnFirstRun")) + { + if (mWindow->getSystemUISize() != 1.f) + { + gSavedSettings.setF32("UIScaleFactor", 1.f); + } + gSavedSettings.setBOOL("ResetUIScaleOnFirstRun", FALSE); + } // Get the real window rect the window was created with (since there are various OS-dependent reasons why // the size of a window or fullscreen context may have been adjusted slightly...)