diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2024-02-24 00:54:57 +0200 |
---|---|---|
committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2024-02-25 15:28:02 +0200 |
commit | d31de6afb2ac9f659efc13c438df727372fcac08 (patch) | |
tree | 9d8cd012b8e5cc3a15702a6881b0b71ee2152b0c /indra/newview/llpanelgrouproles.cpp | |
parent | 5dcc0606a8512159660c652cb25e7f29292f2df0 (diff) |
Issue#884 Crash on ~LLSearchEditor
Crash seems to be specific to LLFilterEditor and only in a couple
specific floaters. Based on older calltacks, commiting on exit was
crashing. So I'm making sure that panels that potentially do not own
the element in question clean the callback in case panels get deleted
before the search editor.
Diffstat (limited to 'indra/newview/llpanelgrouproles.cpp')
-rw-r--r-- | indra/newview/llpanelgrouproles.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index b5d4712868..6c81eb3ea1 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -437,6 +437,7 @@ LLPanelGroupSubTab::LLPanelGroupSubTab() LLPanelGroupSubTab::~LLPanelGroupSubTab() { + mSearchCommitConnection.disconnect(); } bool LLPanelGroupSubTab::postBuildSubTab(LLView* root) @@ -469,7 +470,8 @@ bool LLPanelGroupSubTab::postBuild() mSearchEditor = findChild<LLFilterEditor>("filter_input", recurse); if (mSearchEditor) // SubTab doesn't implement this, only some of derived classes { - mSearchEditor->setCommitCallback(boost::bind(&LLPanelGroupSubTab::setSearchFilter, this, _2)); + // panel + mSearchCommitConnection = mSearchEditor->setCommitCallback(boost::bind(&LLPanelGroupSubTab::setSearchFilter, this, _2)); } return LLPanelGroupTab::postBuild(); |