likely fix for various odd problems with cross-thread callbacks
git-svn-id: svn://localhost/ardour2/branches/3.0@12082 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -51,7 +51,7 @@ using namespace std;
|
||||
#include "i18n.h"
|
||||
|
||||
#define midi_ui_context() MidiControlUI::instance() /* a UICallback-derived object that specifies the event loop for signal handling */
|
||||
#define ui_bind(x) boost::protect (boost::bind ((x)))
|
||||
#define ui_bind(f, ...) boost::protect (boost::bind (f, __VA_ARGS__))
|
||||
|
||||
GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s)
|
||||
: ControlProtocol (s, _("Generic MIDI"))
|
||||
@@ -75,8 +75,8 @@ GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s)
|
||||
Controllable::CreateBinding.connect_same_thread (*this, boost::bind (&GenericMidiControlProtocol::create_binding, this, _1, _2, _3));
|
||||
Controllable::DeleteBinding.connect_same_thread (*this, boost::bind (&GenericMidiControlProtocol::delete_binding, this, _1));
|
||||
|
||||
Session::SendFeedback.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::send_feedback, this), midi_ui_context());;
|
||||
Route::RemoteControlIDChange.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::reset_controllables, this), midi_ui_context());
|
||||
Session::SendFeedback.connect (*this, MISSING_INVALIDATOR, ui_bind (&GenericMidiControlProtocol::send_feedback, this), midi_ui_context());;
|
||||
Route::RemoteControlIDChange.connect (*this, MISSING_INVALIDATOR, ui_bind (&GenericMidiControlProtocol::reset_controllables, this), midi_ui_context());
|
||||
|
||||
reload_maps ();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user