From 7d0612fd5d4791988e0c0e05a2cbf1fba84fd655 Mon Sep 17 00:00:00 2001 From: Jabiertxof Date: Tue, 7 Feb 2017 00:25:47 +0100 Subject: This commit fixes bug #1657874 Title Missing handles after reset of rotation center Whats the bug: In a previous commit I do, I change a event on knots from onmove to onmousedown. this seems ok but the problem were if the user click on rotation center without moving it, the onrelease event has a variable move not set and hide the current knots making the needs to switch the tools to reshow. Is in particular a big problem on little elements where the center knot have a big influence and is very easy to click on it on select. Why do this commit that broke: I want have onmousedown fired to allow meshgradient triangle knots updated on mouse down. What fixes: INstras change the place of the signal, I send back to the original position and create a new signal to fire onmousedow a knot. In the gradient code I change the previous calls from undrag to onmousedown. Fixed bugs: - https://launchpad.net/bugs/1657874 (bzr r15486) --- src/gradient-drag.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/gradient-drag.cpp') diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp index a928cac0d..006e2f790 100644 --- a/src/gradient-drag.cpp +++ b/src/gradient-drag.cpp @@ -1067,7 +1067,7 @@ static void gr_knot_moved_midpoint_handler(SPKnot */*knot*/, Geom::Point const & -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 @@ GrDragger::GrDragger(GrDrag *parent, Geom::Point p, GrDraggable *draggable) 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 @@ GrDragger::~GrDragger() 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 */ -- cgit v1.2.3