From 21c1c97bf3f6c9150b3db186932906237c18ebed Mon Sep 17 00:00:00 2001 From: Marek Roszko Date: Tue, 27 Sep 2022 19:16:29 -0400 Subject: [PATCH] Unbind search pane listview events on destruction to avoid event race --- common/widgets/search_pane_tab.cpp | 8 ++++++++ include/widgets/search_pane_tab.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/common/widgets/search_pane_tab.cpp b/common/widgets/search_pane_tab.cpp index a7a2c9e5da..d8640e26ed 100644 --- a/common/widgets/search_pane_tab.cpp +++ b/common/widgets/search_pane_tab.cpp @@ -38,6 +38,14 @@ SEARCH_PANE_LISTVIEW::SEARCH_PANE_LISTVIEW( SEARCH_HANDLER* handler, wxWindow* p } +SEARCH_PANE_LISTVIEW::~SEARCH_PANE_LISTVIEW() +{ + Unbind( wxEVT_LIST_ITEM_SELECTED, &SEARCH_PANE_LISTVIEW::OnItemSelected, this ); + Unbind( wxEVT_LIST_ITEM_FOCUSED, &SEARCH_PANE_LISTVIEW::OnItemSelected, this ); + Unbind( wxEVT_LIST_ITEM_DESELECTED, &SEARCH_PANE_LISTVIEW::OnItemDeselected, this ); +} + + void SEARCH_PANE_LISTVIEW::GetSelectRowsList( std::vector& aSelectedList ) { long idx = GetFirstSelected(); diff --git a/include/widgets/search_pane_tab.h b/include/widgets/search_pane_tab.h index a80510a413..b3f59b4256 100644 --- a/include/widgets/search_pane_tab.h +++ b/include/widgets/search_pane_tab.h @@ -36,6 +36,8 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize ); + virtual ~SEARCH_PANE_LISTVIEW(); + void RefreshColumnNames(); protected: