summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin.noel@collabora.com>2019-09-03 15:10:16 +0200
committerAlberto Fanjul <albertofanjul@gmail.com>2019-09-04 10:01:22 +0000
commit903bab00bc8efb6335ec526bb1d9e04cc1770f20 (patch)
tree034b92f9ecda22840e3ae87904b3daaacad7559c
parent2d276eaed5bd15e577240c0a31a3b5f10899bfc9 (diff)
downloadglade-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.c11
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);
}