using namespace std;
PBD::Signal1<void,Controllable*> Controllable::Destroyed;
-PBD::Signal1<bool,Controllable*> Controllable::StartLearning;
-PBD::Signal1<void,Controllable*> Controllable::StopLearning;
+PBD::Signal1<bool, boost::weak_ptr<PBD::Controllable> > Controllable::StartLearning;
+PBD::Signal1<void, boost::weak_ptr<PBD::Controllable> > Controllable::StopLearning;
PBD::Signal1<void, boost::weak_ptr<PBD::Controllable> > Controllable::GUIFocusChanged;
const std::string Controllable::xml_node_name = X_("Controllable");
PBD::Signal0<void> LearningFinished;
- static PBD::Signal1<bool,PBD::Controllable*> StartLearning;
- static PBD::Signal1<void,PBD::Controllable*> StopLearning;
+ static PBD::Signal1<bool, boost::weak_ptr<PBD::Controllable> > StartLearning;
+ static PBD::Signal1<void, boost::weak_ptr<PBD::Controllable> > StopLearning;
static PBD::Signal1<void,Controllable*> Destroyed;
BindingProxy::button_press_handler (GdkEventButton *ev)
{
if ( controllable && is_bind_action(ev) ) {
- if (Controllable::StartLearning (controllable.get())) {
+ if (Controllable::StartLearning (controllable)) {
string prompt = _("operate controller now");
if (prompter == 0) {
prompter = new PopUp (Gtk::WIN_POS_MOUSE, 30000, false);
{
learning_connection.disconnect ();
if (controllable) {
- Controllable::StopLearning (controllable.get());
+ Controllable::StopLearning (controllable);
}
return false;
}