diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index ed03645944a395fbaaaec5a40e8a4870cc29d677..d3b2a368a5d9a9cf02dab9ed8f587a4022ab2b4c 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -2282,6 +2282,12 @@ void LLTextBase::updateRects() ? llmax(mVisibleTextRect.getWidth(), mTextBoundingRect.mRight) : mVisibleTextRect.getWidth(); + if (!mScroller) + { + // push doc rect to top of text widget + doc_rect.translate(0, mVisibleTextRect.getHeight() - doc_rect.mTop); + } + mDocumentView->setShape(doc_rect); //update mVisibleTextRect *after* mDocumentView has been resized @@ -2786,9 +2792,9 @@ F32 LLLineBreakTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 se } LLImageTextSegment::LLImageTextSegment(LLStyleConstSP style,S32 pos,class LLTextBase& editor) - :LLTextSegment(pos,pos+1) - ,mStyle( style ) - ,mEditor(editor) +: LLTextSegment(pos,pos+1), + mStyle( style ), + mEditor(editor) { } diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 682e3eb87451522ca156a4d379c9c0b958c288d6..d8b2866a9f4140bc64af9064298bf9401189607e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -385,7 +385,7 @@ bool create_text_segment_icon_from_url_match(LLUrlMatch* match,LLTextBase* base) params.view = icon; params.left_pad = 4; params.right_pad = 4; - params.top_pad = 2; + params.top_pad = -2; params.bottom_pad = 2; base->appendWidget(params," ",false); diff --git a/indra/newview/llsidepaneltaskinfo.h b/indra/newview/llsidepaneltaskinfo.h index 010173e84e2a144818a9875eae5e86162a839b85..99d0603ec589a41d8c13266976b5fe1bba0fb68a 100644 --- a/indra/newview/llsidepaneltaskinfo.h +++ b/indra/newview/llsidepaneltaskinfo.h @@ -121,7 +121,7 @@ class LLSidepanelTaskInfo : public LLSidepanelInventorySubpanel protected: LLViewerObject* getObject(); private: - LLViewerObject* mObject; + LLPointer<LLViewerObject> mObject; LLObjectSelectionHandle mObjectSelection; static LLSidepanelTaskInfo* sActivePanel; };