summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-11-22 23:43:42 +0200
committerakleshchev <117672381+akleshchev@users.noreply.github.com>2023-11-23 17:57:19 +0200
commit7dbe4540196dcae10d728f8a15f3fa7c9225a650 (patch)
tree52e99f738f682dd1bdbd98cbac1dcefb00652e15
parent5dd50bf2ed687abcdd54a714254a00a4ac4ff8f5 (diff)
SL-17846 Crash at ~LLSearchEditor
A weird crash inside LLSearchEditor, try clearing it explicitly
-rw-r--r--indra/llui/llfiltereditor.h1
-rw-r--r--indra/llui/llsearcheditor.cpp8
-rw-r--r--indra/llui/llsearcheditor.h2
3 files changed, 10 insertions, 1 deletions
diff --git a/indra/llui/llfiltereditor.h b/indra/llui/llfiltereditor.h
index 3a05bc05a1..52cad3bff4 100644
--- a/indra/llui/llfiltereditor.h
+++ b/indra/llui/llfiltereditor.h
@@ -43,6 +43,7 @@ class LLFilterEditor : public LLSearchEditor
public:
struct Params : public LLInitParam::Block<Params, LLSearchEditor::Params>
{};
+ virtual ~LLFilterEditor() {}
protected:
LLFilterEditor(const Params&);
diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp
index bafeef41fb..7a88ecc76f 100644
--- a/indra/llui/llsearcheditor.cpp
+++ b/indra/llui/llsearcheditor.cpp
@@ -104,6 +104,14 @@ LLSearchEditor::LLSearchEditor(const LLSearchEditor::Params& p)
}
}
+LLSearchEditor::~LLSearchEditor()
+{
+ mSearchButton = NULL;
+ mClearButton = NULL;
+ mSearchEditor->deleteAllChildren();
+ deleteAllChildren();
+}
+
//virtual
void LLSearchEditor::draw()
{
diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h
index c0f3c1d60c..bd51988d07 100644
--- a/indra/llui/llsearcheditor.h
+++ b/indra/llui/llsearcheditor.h
@@ -74,7 +74,7 @@ protected:
friend class LLUICtrlFactory;
public:
- virtual ~LLSearchEditor() {}
+ virtual ~LLSearchEditor();
/*virtual*/ void draw();