diff options
author | Corentin Noël <corentin.noel@collabora.com> | 2019-09-03 15:10:16 +0200 |
---|---|---|
committer | Alberto Fanjul <albertofanjul@gmail.com> | 2019-09-04 10:01:22 +0000 |
commit | 903bab00bc8efb6335ec526bb1d9e04cc1770f20 (patch) | |
tree | 034b92f9ecda22840e3ae87904b3daaacad7559c | |
parent | 2d276eaed5bd15e577240c0a31a3b5f10899bfc9 (diff) | |
download | glade-903bab00bc8efb6335ec526bb1d9e04cc1770f20.tar.gz |
gladeui: Fix crash on drag-n-drop
The arguments of on_source_drag_end were mismatched
-rw-r--r-- | gladeui/glade-design-view.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gladeui/glade-design-view.c b/gladeui/glade-design-view.c index b9322d31..35ac2e75 100644 --- a/gladeui/glade-design-view.c +++ b/gladeui/glade-design-view.c @@ -616,7 +616,8 @@ glade_design_view_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time) { - GladeDesignViewPrivate *priv = glade_design_view_get_instance_private ((GladeDesignView *) widget); + GladeDesignView *view = GLADE_DESIGN_VIEW (widget); + GladeDesignViewPrivate *priv = glade_design_view_get_instance_private (view); if (priv->drag_target) glade_design_view_drag_highlight (priv->drag_target, -1, -1); @@ -627,7 +628,7 @@ on_source_drag_end (GtkWidget *widget, GdkDragContext *context, GladeDesignView *view) { - GladeDesignViewPrivate *priv = glade_design_view_get_instance_private ((GladeDesignView *) widget); + GladeDesignViewPrivate *priv = glade_design_view_get_instance_private (view); if (priv->drag_target) { @@ -653,11 +654,7 @@ glade_design_view_drag_data_received (GtkWidget *widget, g_signal_handlers_disconnect_by_func (source, on_source_drag_end, view); - g_clear_object (&priv->drag_data); - priv->drag_data = _glade_dnd_get_data (context, selection, info); - - if (priv->drag_data) - g_object_ref (priv->drag_data); + g_set_object (&priv->drag_data, _glade_dnd_get_data (context, selection, info)); g_signal_connect_object (source, "drag-end", G_CALLBACK (on_source_drag_end), view, 0); } |