From cf09f0ad609b4770c550e0c5237c888748358daa Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 4 Aug 2021 07:39:06 -0400 Subject: [PATCH] Fix event types used in PrefsListener singalling... ... which broke at a2f109d --- libraries/lib-preferences/Prefs.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libraries/lib-preferences/Prefs.cpp b/libraries/lib-preferences/Prefs.cpp index 1c8cdb3ee..388c04a2a 100755 --- a/libraries/lib-preferences/Prefs.cpp +++ b/libraries/lib-preferences/Prefs.cpp @@ -70,15 +70,17 @@ std::unique_ptr ugPrefs {}; FileConfig *gPrefs = nullptr; int gMenusDirty = 0; +struct MyEvent; +wxDECLARE_EVENT(EVT_PREFS_UPDATE, MyEvent); + struct MyEvent : wxEvent { public: - explicit MyEvent(int id) : mId{id} {} + explicit MyEvent(int id) : wxEvent{ 0, EVT_PREFS_UPDATE }, mId{id} {} virtual wxEvent *Clone() const override { return new MyEvent{mId}; } int mId; }; -wxDECLARE_EVENT(EVT_PREFS_UPDATE, MyEvent); wxDEFINE_EVENT(EVT_PREFS_UPDATE, MyEvent); struct PrefsListener::Impl : wxEvtHandler @@ -89,20 +91,24 @@ struct PrefsListener::Impl : wxEvtHandler PrefsListener &mOwner; }; -static wxEvtHandler hub; +static wxEvtHandler &hub() +{ + static wxEvtHandler theHub; + return theHub; +} void PrefsListener::Broadcast(int id) { BasicUI::CallAfter([id]{ MyEvent event{ id }; - hub.ProcessEvent(event); + hub().ProcessEvent(event); }); } PrefsListener::Impl::Impl( PrefsListener &owner ) : mOwner{ owner } { - hub.Bind(EVT_PREFS_UPDATE, &PrefsListener::Impl::OnEvent, this); + hub().Bind(EVT_PREFS_UPDATE, &PrefsListener::Impl::OnEvent, this); } PrefsListener::Impl::~Impl()