From 98563df257729ce36dff363134136f0b549f8313 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 15 Oct 2010 14:11:24 -0700 Subject: switch ui string args to auto_ptr to do automatic cleanup --- indra/llui/lluistring.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llui/lluistring.h') diff --git a/indra/llui/lluistring.h b/indra/llui/lluistring.h index eff2467bf0..d7be3b1800 100644 --- a/indra/llui/lluistring.h +++ b/indra/llui/lluistring.h @@ -80,7 +80,7 @@ public: S32 length() const { return getUpdatedWResult().size(); } void clear(); - void clearArgs() { if (mArgs) mArgs->clear(); } + void clearArgs() { if (mArgs.get()) mArgs->clear(); } // These utility functions are included for text editing. // They do not affect mOrig and do not perform argument substitution @@ -104,7 +104,7 @@ private: std::string mOrig; mutable std::string mResult; mutable LLWString mWResult; // for displaying - LLStringUtil::format_map_t* mArgs; + std::auto_ptr mArgs; // controls lazy evaluation mutable bool mNeedsResult; -- cgit v1.2.3 From 6357806dd0d4f70822ba6aa453efbe3a54dc32af Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Fri, 15 Oct 2010 14:37:00 -0700 Subject: another attempt at lluistring cleanup --- indra/llui/lluistring.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/llui/lluistring.h') diff --git a/indra/llui/lluistring.h b/indra/llui/lluistring.h index d7be3b1800..86457a8b25 100644 --- a/indra/llui/lluistring.h +++ b/indra/llui/lluistring.h @@ -61,6 +61,7 @@ public: LLUIString() : mArgs(NULL), mNeedsResult(false), mNeedsWResult(false) {} LLUIString(const std::string& instring, const LLStringUtil::format_map_t& args); LLUIString(const std::string& instring) : mArgs(NULL) { assign(instring); } + ~LLUIString() { delete mArgs; } void assign(const std::string& instring); LLUIString& operator=(const std::string& s) { assign(s); return *this; } @@ -80,7 +81,7 @@ public: S32 length() const { return getUpdatedWResult().size(); } void clear(); - void clearArgs() { if (mArgs.get()) mArgs->clear(); } + void clearArgs() { if (mArgs) mArgs->clear(); } // These utility functions are included for text editing. // They do not affect mOrig and do not perform argument substitution @@ -104,7 +105,7 @@ private: std::string mOrig; mutable std::string mResult; mutable LLWString mWResult; // for displaying - std::auto_ptr mArgs; + LLStringUtil::format_map_t* mArgs; // controls lazy evaluation mutable bool mNeedsResult; -- cgit v1.2.3 From d276950c8d4d53f9d5d6497d5a4a4582c499938a Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 15 Nov 2010 17:03:52 -0800 Subject: build fixes --- indra/llui/lluistring.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/llui/lluistring.h') diff --git a/indra/llui/lluistring.h b/indra/llui/lluistring.h index 35f177238d..cb40c85582 100644 --- a/indra/llui/lluistring.h +++ b/indra/llui/lluistring.h @@ -63,8 +63,6 @@ public: LLUIString(const std::string& instring) : mArgs(NULL) { assign(instring); } ~LLUIString() { delete mArgs; } - ~LLUIString() { delete mArgs; } - void assign(const std::string& instring); LLUIString& operator=(const std::string& s) { assign(s); return *this; } -- cgit v1.2.3