=== modified file 'src/gradient-drag.cpp' --- src/gradient-drag.cpp 2016-12-05 12:23:45 +0000 +++ src/gradient-drag.cpp 2017-02-06 22:16:19 +0000 @@ -1067,7 +1067,7 @@ -static void gr_knot_grabbed_handler(SPKnot */*knot*/, unsigned int /*state*/, gpointer data) +static void gr_knot_mousedown_handler(SPKnot */*knot*/, unsigned int /*state*/, gpointer data) { GrDragger *dragger = (GrDragger *) data; GrDrag *drag = dragger->parent; @@ -1688,7 +1688,7 @@ this->sizeUpdatedConn = ControlManager::getManager().connectCtrlSizeChanged(sigc::mem_fun(*this, &GrDragger::updateControlSizes)); this->_clicked_connection = this->knot->click_signal.connect(sigc::bind(sigc::ptr_fun(gr_knot_clicked_handler), this)); this->_doubleclicked_connection = this->knot->doubleclicked_signal.connect(sigc::bind(sigc::ptr_fun(gr_knot_doubleclicked_handler), this)); - this->_grabbed_connection = this->knot->grabbed_signal.connect(sigc::bind(sigc::ptr_fun(gr_knot_grabbed_handler), this)); + this->_mousedown_connection = this->knot->mousedown_signal.connect(sigc::bind(sigc::ptr_fun(gr_knot_mousedown_handler), this)); this->_ungrabbed_connection = this->knot->ungrabbed_signal.connect(sigc::bind(sigc::ptr_fun(gr_knot_ungrabbed_handler), this)); // add the initial draggable @@ -1712,7 +1712,7 @@ this->_moved_connection.disconnect(); this->_clicked_connection.disconnect(); this->_doubleclicked_connection.disconnect(); - this->_grabbed_connection.disconnect(); + this->_mousedown_connection.disconnect(); this->_ungrabbed_connection.disconnect(); /* unref should call destroy */ === modified file 'src/gradient-drag.h' --- src/gradient-drag.h 2016-12-05 12:23:45 +0000 +++ src/gradient-drag.h 2017-02-06 21:47:17 +0000 @@ -130,7 +130,7 @@ sigc::connection _moved_connection; sigc::connection _clicked_connection; sigc::connection _doubleclicked_connection; - sigc::connection _grabbed_connection; + sigc::connection _mousedown_connection; sigc::connection _ungrabbed_connection; }; === modified file 'src/knot.cpp' --- src/knot.cpp 2016-12-29 04:26:27 +0000 +++ src/knot.cpp 2017-02-05 14:13:18 +0000 @@ -214,7 +214,7 @@ if ((event->button.button == 1) && knot->desktop && knot->desktop->event_context && !knot->desktop->event_context->space_panning) { Geom::Point const p = knot->desktop->w2d(Geom::Point(event->button.x, event->button.y)); knot->startDragging(p, (gint) event->button.x, (gint) event->button.y, event->button.time); - knot->grabbed_signal.emit(knot, event->button.state); + knot->mousedown_signal.emit(knot, event->button.state); consumed = TRUE; } break; @@ -241,7 +241,6 @@ if (moved) { knot->setFlag(SP_KNOT_DRAGGING, FALSE); - knot->ungrabbed_signal.emit(knot, event->button.state); } else { knot->click_signal.emit(knot, event->button.state); @@ -277,6 +276,7 @@ if (!moved) { knot->setFlag(SP_KNOT_DRAGGING, TRUE); + knot->grabbed_signal.emit(knot, event->button.state); } sp_event_context_snap_delay_handler(knot->desktop->event_context, NULL, knot, (GdkEventMotion *)event, Inkscape::UI::Tools::DelayedSnapEvent::KNOT_HANDLER); === modified file 'src/knot.h' --- src/knot.h 2016-12-03 16:11:45 +0000 +++ src/knot.h 2017-02-05 14:12:09 +0000 @@ -79,6 +79,7 @@ // be able to figure that out sigc::signal click_signal; sigc::signal doubleclicked_signal; + sigc::signal mousedown_signal; sigc::signal grabbed_signal; sigc::signal ungrabbed_signal; sigc::signal moved_signal;