diff options
author | richard <none@none> | 2010-01-06 11:17:38 -0800 |
---|---|---|
committer | richard <none@none> | 2010-01-06 11:17:38 -0800 |
commit | 1bbd259f2d009a807a09aea15d01d0872f8b1cad (patch) | |
tree | fe9e232d1f02e3f9288a22f3b477f74c8fbc0652 /indra/newview | |
parent | 7ec938e08da03d7029abc96c5cc0f5a7b8d683ca (diff) |
EXT-3878 - Menus disappear when UI Size is < 1.00
EXT-3647 - Auto-scrolling of IMs should resume when user types in chat
EXT-3877 - Pinning two levels of menus prevents movement using arrow keys
EXT-1303 - Hyperlink text wraps in the middle of a word
reviewed by James
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llchathistory.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llhudtext.cpp | 10 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 2 |
3 files changed, 17 insertions, 1 deletions
diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 21cadda6e3..dac3280575 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -593,6 +593,12 @@ void LLChatHistory::appendMessage(const LLChat& chat, const bool use_plain_text_ mEditor->appendText(message, FALSE, style_params); } mEditor->blockUndo(); + + // automatically scroll to end when receiving chat from myself + if (chat.mFromID == gAgentID) + { + mEditor->setCursorAndScrollToEnd(); + } } void LLChatHistory::draw() diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp index 0b5da40be4..b95e5f53e8 100644 --- a/indra/newview/llhudtext.cpp +++ b/indra/newview/llhudtext.cpp @@ -607,6 +607,11 @@ void LLHUDText::addLine(const LLWString &wstr, const LLColor4& color, const LLFo do { S32 segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wline.length(), TRUE); + if (segment_length == 0) + { + // try again without wrapping on word boundaries + segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wline.length(), FALSE); + } mTextSegments.push_back(LLHUDTextSegment(iter->substr(line_length, segment_length), style, color)); line_length += segment_length; } @@ -643,6 +648,11 @@ void LLHUDText::setLabel(const LLWString &wlabel) do { S32 segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wstr.length(), TRUE); + if (segment_length == 0) + { + // try again without wrapping on word boundaries + segment_length = mFontp->maxDrawableChars(iter->substr(line_length).c_str(), mUseBubble ? HUD_TEXT_MAX_WIDTH : HUD_TEXT_MAX_WIDTH_NO_BUBBLE, wstr.length(), FALSE); + } mLabelSegments.push_back(LLHUDTextSegment(iter->substr(line_length, segment_length), LLFontGL::NORMAL, mColor)); line_length += segment_length; } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 1400253176..83cbc8a1f9 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1897,7 +1897,7 @@ void LLViewerWindow::draw() if (!gSavedSettings.getBOOL("RenderUIBuffer")) { - LLUI::sDirtyRect = this->getWindowRectRaw(); + LLUI::sDirtyRect = getWindowRectScaled(); } // HACK for timecode debugging |