This should fix the inefficiencies in the append path that made viewer FPS drop severely when addinglarge amounts of text to the nearby chat floater.
Resizing the floater with a huge amount of text in it is still pretty bad, but fixing that will require some bigger architectural changes.
Changed LLTextBase::needsReflow() to take an offset at which to start reflow processing.
Changed most needsReflow() calls in LLTextBase to supply a proper index.
Changed LLTextBase::reflow() to use the reflow index maintained by needsReflow().
Removed all needsReflow() calls from LLTextEditor (the only way for it to manipulate the text is through functions in LLTextBase that already manage reflowing internally).
Removed LLTextEditor::replaceUrlLabel(), since it was identical to the inherited version LLTextBase::replaceUrlLabel().
Reviewed by Richard.
Removed some unnecessary string copies in LLTextBase and LLNormalTextSegment by changing getWText() to return const LLWString& (instead of LLWString), and storing the result in a const LLWString& instead of an LLWString in places where the string doesn't need to be modified.
Made LLTextViewModel::getDisplay() also return const LLWString& instead of LLWString.
Removed a couple of unused local string variables in LLTextBase (the compiler flagged these after converting the local copies to const LLWString&).
The new <nolink>URL</nolink> provides a more flexible solution that
can be specified in XUI (as we now do to disabled hyperlinking for the
sim hostname in the About floater).
We are running into a bunch of places where we don't want to allow
hyperlinking of URLs like secondlife.com in text boxes. I've therefore
added a new type of URL regex that disables URL hyperlinking. Simply
enclose the URL in a <nolink> tag, e.g.:
<nolink>secondlife.com</nolink>
Added support for specifying a black list of URLs on a per-widget
basis. URLs on this black list will not be hyperlinked in the text
widget. The About dialog adds the sim hostname to this black list.
Add 1 pixel of padding to clipping rect computation. I think there is a deeper
problem in the font width computation code, but I don't know where. Opened EXT-3112
for the deeper issue. Reviewed with Leyla.
floaters can now overlap sidetray
fixed text selection background color to be inverse of text fg color
EXT-2713 Script editor automatically scrolls to the top of script text when text is longer than the window.
reviewed by James
-- Improved calculating of the LLTextBase::mContentsRect to take into account "left" coordinate.
Previous implementation just ignored it.
--HG--
branch : product-engine