summaryrefslogtreecommitdiff
path: root/libs/surfaces/push2/mix.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-07-12 07:46:30 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:31 -0500
commit8fdf1669a7918d8c625d2ef10df2225c86a85d76 (patch)
tree7515bacdc3b6cf57538d83ee23e50de102205207 /libs/surfaces/push2/mix.cc
parentad7543c02f947e15a88b5eeae8db6dc55bad9b60 (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.cc10
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;