diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-07-12 07:46:30 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-09-27 14:59:31 -0500 |
commit | 8fdf1669a7918d8c625d2ef10df2225c86a85d76 (patch) | |
tree | 7515bacdc3b6cf57538d83ee23e50de102205207 /libs/surfaces/push2/mix.cc | |
parent | ad7543c02f947e15a88b5eeae8db6dc55bad9b60 (diff) |
push2: fix up issues with object lifetimes and signals during shutdown
Diffstat (limited to 'libs/surfaces/push2/mix.cc')
-rw-r--r-- | libs/surfaces/push2/mix.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/surfaces/push2/mix.cc b/libs/surfaces/push2/mix.cc index 2d7c9b7781..4efc739955 100644 --- a/libs/surfaces/push2/mix.cc +++ b/libs/surfaces/push2/mix.cc @@ -43,6 +43,8 @@ #include "canvas/colors.h" +#include "gtkmm2ext/gui_thread.h" + #include "mix.h" #include "knob.h" #include "push2.h" @@ -111,8 +113,8 @@ MixLayout::MixLayout (Push2& p, Session& s, Cairo::RefPtr<Cairo::Context> contex mode_button = p2.button_by_id (Push2::Upper1); - session.RouteAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&MixLayout::stripables_added, this), &p2); - session.vca_manager().VCAAdded.connect (session_connections, MISSING_INVALIDATOR, boost::bind (&MixLayout::stripables_added, this), &p2); + session.RouteAdded.connect (session_connections, invalidator(*this), boost::bind (&MixLayout::stripables_added, this), &p2); + session.vca_manager().VCAAdded.connect (session_connections, invalidator (*this), boost::bind (&MixLayout::stripables_added, this), &p2); } MixLayout::~MixLayout () @@ -515,8 +517,8 @@ MixLayout::switch_bank (uint32_t base) /* stripable goes away? refill the bank, starting at the same point */ - stripable[n]->DropReferences.connect (stripable_connections, MISSING_INVALIDATOR, boost::bind (&MixLayout::switch_bank, this, bank_start), &p2); - stripable[n]->presentation_info().PropertyChanged.connect (stripable_connections, MISSING_INVALIDATOR, boost::bind (&MixLayout::stripable_property_change, this, _1, n), &p2); + stripable[n]->DropReferences.connect (stripable_connections, invalidator (*this), boost::bind (&MixLayout::switch_bank, this, bank_start), &p2); + stripable[n]->presentation_info().PropertyChanged.connect (stripable_connections, invalidator (*this), boost::bind (&MixLayout::stripable_property_change, this, _1, n), &p2); Push2::Button* b; |