summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2015-12-11 10:50:25 -0500
committerMatthias Clasen <mclasen@redhat.com>2015-12-11 10:50:25 -0500
commita8a33b71e4fb3077c5b7cdd65f248515a1c525ea (patch)
tree66d8f053c554e115eae7cc01d687bbc2fb13dc0c /tests
parentc418ca451b2db2cf2bab4d25d81ec15e00e8492f (diff)
downloadgtk+-a8a33b71e4fb3077c5b7cdd65f248515a1c525ea.tar.gz
Add a drag-end callback
This will be helpful in figuring out life-cycle issues with icon widgets.
Diffstat (limited to 'tests')
-rw-r--r--tests/testdnd2.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/testdnd2.c b/tests/testdnd2.c
index eb4c1745fe..0447dc07f3 100644
--- a/tests/testdnd2.c
+++ b/tests/testdnd2.c
@@ -199,6 +199,18 @@ spinner_drag_begin (GtkWidget *widget,
"active", TRUE,
NULL);
gtk_drag_set_icon_widget (context, spinner, 0, 0);
+ g_object_set_data (G_OBJECT (context), "spinner", spinner);
+}
+
+static void
+spinner_drag_end (GtkWidget *widget,
+ GdkDragContext *context,
+ gpointer data)
+{
+ GtkWidget *spinner;
+
+ spinner = g_object_get_data (G_OBJECT (context), "spinner");
+ gtk_widget_destroy (spinner);
}
void
@@ -225,6 +237,7 @@ make_spinner (void)
gtk_drag_source_add_text_targets (ebox);
g_signal_connect (ebox, "drag-begin", G_CALLBACK (spinner_drag_begin), spinner);
+ g_signal_connect (ebox, "drag-end", G_CALLBACK (spinner_drag_end), spinner);
g_signal_connect (ebox, "drag-data-get", G_CALLBACK (spinner_drag_data_get), spinner);
gtk_container_add (GTK_CONTAINER (ebox), spinner);