diff options
author | simon <none@none> | 2014-05-07 15:28:13 -0700 |
---|---|---|
committer | simon <none@none> | 2014-05-07 15:28:13 -0700 |
commit | a5568f942b449e48cad71e92acd67eaa22dd5e5d (patch) | |
tree | f266b99c9663fda8001cbde48aa5a6b1b9d7db68 /indra/llui/llviewmodel.cpp | |
parent | 80a134ffcc68b277c10cc79dc9c7ca073148b41e (diff) | |
parent | dc4c184696b308b8f60fa1dd751b35e22bd47d62 (diff) |
Merge downstream version 3.7.8 code
Diffstat (limited to 'indra/llui/llviewmodel.cpp')
-rwxr-xr-x | indra/llui/llviewmodel.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/indra/llui/llviewmodel.cpp b/indra/llui/llviewmodel.cpp index a9f8acc440..282addf692 100755 --- a/indra/llui/llviewmodel.cpp +++ b/indra/llui/llviewmodel.cpp @@ -37,13 +37,15 @@ /// LLViewModel::LLViewModel() - : mDirty(false) +: LLTrace::MemTrackable<LLViewModel>("LLViewModel"), + mDirty(false) { } /// Instantiate an LLViewModel with an existing data value LLViewModel::LLViewModel(const LLSD& value) - : mDirty(false) +: LLTrace::MemTrackable<LLViewModel>("LLViewModel"), + mDirty(false) { setValue(value); } @@ -79,8 +81,16 @@ LLTextViewModel::LLTextViewModel(const LLSD& value) /// Update the stored value void LLTextViewModel::setValue(const LLSD& value) { + // approximate LLSD storage usage + disclaimMem(mDisplay.size()); LLViewModel::setValue(value); + disclaimMem(mDisplay); mDisplay = utf8str_to_wstring(value.asString()); + + claimMem(mDisplay); + // approximate LLSD storage usage + claimMem(mDisplay.size()); + // mDisplay and mValue agree mUpdateFromDisplay = false; } @@ -91,7 +101,11 @@ void LLTextViewModel::setDisplay(const LLWString& value) // and do the utf8str_to_wstring() to get the corresponding mDisplay // value. But a text editor might want to edit the display string // directly, then convert back to UTF8 on commit. + disclaimMem(mDisplay.size()); + disclaimMem(mDisplay); mDisplay = value; + claimMem(mDisplay); + claimMem(mDisplay.size()); mDirty = true; // Don't immediately convert to UTF8 -- do it lazily -- we expect many // more setDisplay() calls than getValue() calls. Just flag that it needs |