diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2013-06-06 20:03:11 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2013-06-06 20:04:08 -0300 |
commit | e82687bcc90c1122ecf376a790e9b366e2b69fcd (patch) | |
tree | ec1b55e47d9a74dc928e78c12bbafc96ba349f06 | |
parent | 7b0573899b52735b141f9d492068c050667cd770 (diff) | |
download | glade-e82687bcc90c1122ecf376a790e9b366e2b69fcd.tar.gz |
Fixed drag&drop bug. A bogus drag was being triggered when resizing a widget in the workspace.
-rw-r--r-- | gladeui/glade-design-layout.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gladeui/glade-design-layout.c b/gladeui/glade-design-layout.c index 565af5a1..1d39521b 100644 --- a/gladeui/glade-design-layout.c +++ b/gladeui/glade-design-layout.c @@ -2303,11 +2303,8 @@ _glade_design_layout_do_event (GladeDesignLayout *layout, GdkEvent *event) { GObject *source; - if (event->button.state & GDK_SHIFT_MASK) - { - priv->drag_source = NULL; - } - else if (data.gwidget && (source = glade_widget_get_object (data.gwidget))) + if (!(event->button.state & GDK_SHIFT_MASK) && + data.gwidget && (source = glade_widget_get_object (data.gwidget))) { priv->drag_source = GTK_WIDGET (source); @@ -2315,6 +2312,14 @@ _glade_design_layout_do_event (GladeDesignLayout *layout, GdkEvent *event) data.x, data.y, &priv->drag_x, &priv->drag_y); } + else + { + priv->drag_source = NULL; + } + } + else if (event->type == GDK_BUTTON_RELEASE && event->button.button == 1) + { + priv->drag_source = NULL; } _glade_design_view_freeze (priv->view); |