diff options
author | Andrew Productengine <adyukov@productengine.com> | 2010-12-13 13:17:48 +0200 |
---|---|---|
committer | Andrew Productengine <adyukov@productengine.com> | 2010-12-13 13:17:48 +0200 |
commit | d3eccbcd8b9bc51b1a940325509b9508c3697391 (patch) | |
tree | bf9867800e3436a5ac858c2dd366ec0089412ff1 /indra/newview/llviewermessage.cpp | |
parent | e27bcbe0d20c87556b0bcb1e3feaaea6544d3e16 (diff) |
STORM-229 FIXED Fixed long loading times and stalling of Viewer while loading big scripts or pasting a lot of text into script.
The bug was fixed by Satomi Ahn. Here is the description of what causes the problem from her comment in ticket:
"Disabling the loading of syntax keywords in LLScriptEdCore::postBuild() removes the freeze (and with it: syntax highlighting).
So it obviously comes from the parsing of the text.
I also noticed something else: by adding a llwarn in LLTextEditor::updateSegments(), I saw that this function was called a lot of times when loading a script, roughly once for each line in the script (naively I would have thought only necessary to update when finished... or to only update the new line).
My llwarn was in the "if (mReflowIndex < S32_MAX && mKeywords.isLoaded())", which means that, at each call, the text is actually parsed for all keywords... so the parsing of the script becomes quadratic instead of linear!!!"
- To fix this, Satomi added a flag depending on which parsing is disabled when it is not necessary.
Diffstat (limited to 'indra/newview/llviewermessage.cpp')
0 files changed, 0 insertions, 0 deletions