diff options
author | Oz Linden <oz@lindenlab.com> | 2016-05-06 10:28:42 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2016-05-06 10:28:42 -0400 |
commit | 950c41d184b340a7a3370c2cbda5d1eed9a17b0b (patch) | |
tree | 373912394af6834d7d56258becf46954244b8423 /indra/newview/llexpandabletextbox.cpp | |
parent | 20198b750d02c769ab6845226f98ce6e5dd1f20b (diff) | |
parent | 7f5e6cea124e1193b199a3eabd50bdab96340c13 (diff) |
merge 4.0.4-release and MAINT-5974
Diffstat (limited to 'indra/newview/llexpandabletextbox.cpp')
-rw-r--r-- | indra/newview/llexpandabletextbox.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp index 4dbed114bb..f0331f20d8 100644 --- a/indra/newview/llexpandabletextbox.cpp +++ b/indra/newview/llexpandabletextbox.cpp @@ -122,8 +122,6 @@ LLExpandableTextBox::LLTextBoxEx::LLTextBoxEx(const Params& p) void LLExpandableTextBox::LLTextBoxEx::reshape(S32 width, S32 height, BOOL called_from_parent) { LLTextEditor::reshape(width, height, called_from_parent); - - hideOrShowExpandTextAsNeeded(); } void LLExpandableTextBox::LLTextBoxEx::setText(const LLStringExplicit& text,const LLStyle::Params& input_params) @@ -298,6 +296,12 @@ void LLExpandableTextBox::updateTextBoxRect() mTextBox->reshape(rc.getWidth(), rc.getHeight()); mTextBox->setRect(rc); + // *HACK + // hideExpandText brakes text styles (replaces hyper-links with plain text), see ticket EXT-3290 + // Also text segments are not removed properly. Same issue at expandTextBox(). + // So set text again to make text box re-apply styles and clear segments. + // *TODO Find a solution that does not involve text segment. + mTextBox->setText(mText); } S32 LLExpandableTextBox::recalculateTextDelta(S32 text_delta) @@ -403,8 +407,6 @@ void LLExpandableTextBox::collapseTextBox() setRect(mCollapsedRect); updateTextBoxRect(); - - gViewerWindow->removePopup(this); } void LLExpandableTextBox::onFocusLost() @@ -423,13 +425,19 @@ void LLExpandableTextBox::onTopLost() void LLExpandableTextBox::updateTextShape() { - // I guess this should be done on every reshape(), - // but adding this code to reshape() currently triggers bug VWR-26455, - // which makes the text virtually unreadable. llassert(!mExpanded); updateTextBoxRect(); } +void LLExpandableTextBox::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + mExpanded = false; + LLUICtrl::reshape(width, height, called_from_parent); + updateTextBoxRect(); + + gViewerWindow->removePopup(this); +} + void LLExpandableTextBox::setValue(const LLSD& value) { collapseTextBox(); |