From: Matthias Clasen Date: Mon, 6 Jan 2020 05:12:21 +0000 (-0500) Subject: Replace gtk_drop_target_attach/detach X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~354^2~101 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e9067ae2db95a30a714efdec22de07debe5ca12d;p=gtk4.git Replace gtk_drop_target_attach/detach Since drop targets are now just event controller, gtk_widget_add/remove_controller works just fine for them. --- diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c index e40b89ac4c..b484f5eec7 100644 --- a/demos/gtk-demo/clipboard.c +++ b/demos/gtk-demo/clipboard.c @@ -342,7 +342,7 @@ do_clipboard (GtkWidget *do_widget) dest = gtk_drop_target_new (formats, GDK_ACTION_COPY); gdk_content_formats_unref (formats); g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), image); - gtk_drop_target_attach (dest, image); + gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (dest)); /* context menu on image */ gesture = gtk_gesture_click_new (); @@ -375,7 +375,7 @@ do_clipboard (GtkWidget *do_widget) dest = gtk_drop_target_new (formats, GDK_ACTION_COPY); gdk_content_formats_unref (formats); g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), image); - gtk_drop_target_attach (dest, image); + gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (dest)); /* context menu on image */ gesture = gtk_gesture_click_new (); diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index b9b7d1d062..7e3b8b49d8 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -791,7 +791,7 @@ gtk_calendar_init (GtkCalendar *calendar) g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_calendar_drag_leave), calendar); g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_calendar_drag_drop), calendar); - gtk_drop_target_attach (dest, widget); + gtk_widget_add_controller (widget, GTK_EVENT_CONTROLLER (dest)); priv->year_before = 0; diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index 20b0471492..581da04d59 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -46,6 +46,7 @@ #include "gtkstylecontext.h" #include "gtkdragsource.h" #include "gtkdragdest.h" +#include "gtkeventcontroller.h" /** @@ -328,7 +329,7 @@ gtk_color_button_init (GtkColorButton *button) targets = gdk_content_formats_new (drop_types, G_N_ELEMENTS (drop_types)); dest = gtk_drop_target_new (targets, GDK_ACTION_COPY); g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_color_button_drag_drop), button); - gtk_drop_target_attach (dest, GTK_WIDGET (button)); + gtk_widget_add_controller (GTK_WIDGET (button), GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (targets); content = gdk_content_provider_new_with_callback (GDK_TYPE_RGBA, get_rgba_value, button); diff --git a/gtk/gtkcolorswatch.c b/gtk/gtkcolorswatch.c index 4f22fbd39b..188f08d8d1 100644 --- a/gtk/gtkcolorswatch.c +++ b/gtk/gtkcolorswatch.c @@ -473,7 +473,6 @@ swatch_finalize (GObject *object) g_free (priv->icon); gtk_widget_unparent (priv->overlay_widget); - g_clear_pointer (&priv->dest, gtk_drop_target_detach); G_OBJECT_CLASS (gtk_color_swatch_parent_class)->finalize (object); } @@ -678,12 +677,13 @@ gtk_color_swatch_set_can_drop (GtkColorSwatch *swatch, targets = gdk_content_formats_new (dnd_targets, G_N_ELEMENTS (dnd_targets)); priv->dest = gtk_drop_target_new (targets, GDK_ACTION_COPY); g_signal_connect (priv->dest, "drag-drop", G_CALLBACK (swatch_drag_drop), swatch); - gtk_drop_target_attach (priv->dest, GTK_WIDGET (swatch)); + gtk_widget_add_controller (GTK_WIDGET (swatch), GTK_EVENT_CONTROLLER (priv->dest)); gdk_content_formats_unref (targets); } if (!can_drop && priv->dest) { - g_clear_pointer (&priv->dest, gtk_drop_target_detach); + gtk_widget_remove_controller (GTK_WIDGET (swatch), GTK_EVENT_CONTROLLER (priv->dest)); + priv->dest = NULL; } g_object_notify (G_OBJECT (swatch), "can-drop"); diff --git a/gtk/gtkdragdest.c b/gtk/gtkdragdest.c index 0dc2c27761..9c2e802076 100644 --- a/gtk/gtkdragdest.c +++ b/gtk/gtkdragdest.c @@ -46,7 +46,7 @@ * * To use a GtkDropTarget to receive drops on a widget, you create * a GtkDropTarget object, connect to its signals, and then attach - * it to the widget with gtk_drop_target_attach(). + * it to the widget with gtk_widget_add_controller(). */ struct _GtkDropTarget @@ -445,44 +445,6 @@ gtk_drop_target_get (GtkWidget *widget) return g_object_get_data (G_OBJECT (widget), I_("gtk-drag-dest")); } -/** - * gtk_drop_target_attach: - * @dest: (transfer full): a #GtkDropTarget - * @widget the widget to attach @dest to - * - * Attaches the @dest to widget and makes it accept drops - * on the widgets. - * - * To undo the effect of this call, use gtk_drop_target_detach(). - */ -void -gtk_drop_target_attach (GtkDropTarget *dest, - GtkWidget *widget) -{ - g_return_if_fail (GTK_IS_DROP_TARGET (dest)); - g_return_if_fail (GTK_IS_WIDGET (widget)); - - gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (dest), GTK_PHASE_BUBBLE); - gtk_widget_add_controller (widget, GTK_EVENT_CONTROLLER (dest)); -} - -/** - * gtk_drop_target_detach: - * @dest: a #GtkDropTarget - * - * Undoes the effect of a prior gtk_drop_target_attach() call. - */ -void -gtk_drop_target_detach (GtkDropTarget *dest) -{ - GtkWidget *widget; - - g_return_if_fail (GTK_IS_DROP_TARGET (dest)); - - widget = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (dest)); - gtk_widget_remove_controller (widget, GTK_EVENT_CONTROLLER (dest)); -} - /** * gtk_drop_target_get_target: * @dest: a #GtkDropTarget diff --git a/gtk/gtkdragdest.h b/gtk/gtkdragdest.h index 267600b4b5..11271c46b4 100644 --- a/gtk/gtkdragdest.h +++ b/gtk/gtkdragdest.h @@ -68,12 +68,6 @@ void gtk_drop_target_set_actions (GtkDropTarget *dest, GDK_AVAILABLE_IN_ALL GdkDragAction gtk_drop_target_get_actions (GtkDropTarget *dest); -GDK_AVAILABLE_IN_ALL -void gtk_drop_target_attach (GtkDropTarget *dest, - GtkWidget *widget); -GDK_AVAILABLE_IN_ALL -void gtk_drop_target_detach (GtkDropTarget *dest); - GDK_AVAILABLE_IN_ALL GdkDrop *gtk_drop_target_get_drop (GtkDropTarget *dest); diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 5528c8416e..ac5b6034ab 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -379,7 +379,7 @@ gtk_expander_init (GtkExpander *expander) gdk_content_formats_unref (formats); g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_expander_drag_motion), expander); g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_expander_drag_leave), expander); - gtk_drop_target_attach (dest, GTK_WIDGET (expander)); + gtk_widget_add_controller (GTK_WIDGET (expander), GTK_EVENT_CONTROLLER (dest)); gesture = gtk_gesture_click_new (); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index a80e56f0bc..f20423198e 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -60,6 +60,7 @@ #include "gtksettings.h" #include "gtkstylecontextprivate.h" #include "gtkbitmaskprivate.h" +#include "gtkeventcontroller.h" /** * SECTION:gtkfilechooserbutton @@ -500,7 +501,7 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button) target_list = gtk_content_formats_add_text_targets (target_list); dest = gtk_drop_target_new (target_list, GDK_ACTION_COPY); g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_file_chooser_button_drag_drop), button); - gtk_drop_target_attach (dest, GTK_WIDGET (button)); + gtk_widget_add_controller (GTK_WIDGET (button), GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (target_list); } diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 8635228b01..23f7ed0b93 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -8522,7 +8522,7 @@ post_process_ui (GtkFileChooserWidget *impl) dest = gtk_drop_target_new (formats, GDK_ACTION_COPY | GDK_ACTION_MOVE); g_signal_connect (dest, "drag-motion", G_CALLBACK (file_list_drag_motion_cb), impl); g_signal_connect (dest, "drag-drop", G_CALLBACK (file_list_drag_drop_cb), impl); - gtk_drop_target_attach (dest, priv->browse_files_tree_view); + gtk_widget_add_controller (priv->browse_files_tree_view, GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (formats); /* File browser treemodel columns are shared between GtkFileChooser implementations, diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index d243666376..a2491bcf06 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1025,7 +1025,6 @@ gtk_icon_view_dispose (GObject *object) g_clear_object (&priv->key_controller); g_clear_object (&priv->source); - g_clear_pointer (&priv->dest, gtk_drop_target_detach); G_OBJECT_CLASS (gtk_icon_view_parent_class)->dispose (object); } @@ -6499,7 +6498,7 @@ gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view, g_signal_connect (icon_view->priv->dest, "drag-leave", G_CALLBACK (gtk_icon_view_drag_leave), icon_view); g_signal_connect (icon_view->priv->dest, "drag-motion", G_CALLBACK (gtk_icon_view_drag_motion), icon_view); g_signal_connect (icon_view->priv->dest, "drag-drop", G_CALLBACK (gtk_icon_view_drag_drop), icon_view); - gtk_drop_target_attach (icon_view->priv->dest, GTK_WIDGET (icon_view)); + gtk_widget_add_controller (GTK_WIDGET (icon_view), GTK_EVENT_CONTROLLER (icon_view->priv->dest)); icon_view->priv->dest_actions = actions; @@ -6545,7 +6544,7 @@ gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view) if (icon_view->priv->dest_set) { - gtk_drop_target_detach (icon_view->priv->dest); + gtk_widget_remove_controller (GTK_WIDGET (icon_view), GTK_EVENT_CONTROLLER (icon_view->priv->dest)); icon_view->priv->dest = NULL; icon_view->priv->dest_set = FALSE; } diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index c1eda8ea3e..5127e7c177 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1329,7 +1329,8 @@ gtk_notebook_init (GtkNotebook *notebook) g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_notebook_drag_motion), NULL); g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_notebook_drag_leave), NULL); g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_notebook_drag_drop), NULL); - gtk_drop_target_attach (dest, GTK_WIDGET (notebook)); + gtk_widget_add_controller (GTK_WIDGET (notebook), GTK_EVENT_CONTROLLER (dest)); + gdk_content_formats_unref (targets); priv->header_widget = g_object_new (GTK_TYPE_BOX, diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index 3b0f588536..907482748c 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -4099,7 +4099,7 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar) g_signal_connect (dest, "drag-motion", G_CALLBACK (drag_motion_callback), sidebar); g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop_callback), sidebar); g_signal_connect (dest, "drag-leave", G_CALLBACK (drag_leave_callback), sidebar); - gtk_drop_target_attach (dest, sidebar->list_box); + gtk_widget_add_controller (sidebar->list_box, GTK_EVENT_CONTROLLER (dest)); sidebar->source_targets = gdk_content_formats_new (dnd_source_targets, G_N_ELEMENTS (dnd_source_targets)); sidebar->source_targets = gtk_content_formats_add_text_targets (sidebar->source_targets); diff --git a/gtk/gtkstackswitcher.c b/gtk/gtkstackswitcher.c index b3688ab4d4..02d22dec08 100644 --- a/gtk/gtkstackswitcher.c +++ b/gtk/gtkstackswitcher.c @@ -120,7 +120,7 @@ gtk_stack_switcher_init (GtkStackSwitcher *switcher) gdk_content_formats_unref (formats); g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_stack_switcher_drag_leave), switcher); g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_stack_switcher_drag_motion), switcher); - gtk_drop_target_attach (dest, GTK_WIDGET (switcher)); + gtk_widget_add_controller (GTK_WIDGET (switcher), GTK_EVENT_CONTROLLER (dest)); } static void diff --git a/gtk/gtktext.c b/gtk/gtktext.c index 51216d5513..27916ada67 100644 --- a/gtk/gtktext.c +++ b/gtk/gtktext.c @@ -1732,7 +1732,7 @@ gtk_text_init (GtkText *self) g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_text_drag_leave), self); g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_text_drag_drop), self); gdk_content_formats_unref (formats); - gtk_drop_target_attach (dest, GTK_WIDGET (self)); + gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (dest)); /* This object is completely private. No external entity can gain a reference * to it; so we create it here and destroy it in finalize(). diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 87b6435d0c..99f830f747 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -1635,7 +1635,7 @@ gtk_text_view_init (GtkTextView *text_view) g_signal_connect (dest, "drag-leave", G_CALLBACK (gtk_text_view_drag_leave), text_view); g_signal_connect (dest, "drag-motion", G_CALLBACK (gtk_text_view_drag_motion), text_view); g_signal_connect (dest, "drag-drop", G_CALLBACK (gtk_text_view_drag_drop), text_view); - gtk_drop_target_attach (dest, GTK_WIDGET (text_view)); + gtk_widget_add_controller (GTK_WIDGET (text_view), GTK_EVENT_CONTROLLER (dest)); priv->virtual_cursor_x = -1; priv->virtual_cursor_y = -1; diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index fd0d50f40f..e319430e03 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -6743,8 +6743,6 @@ static void destroy_info (TreeViewDragInfo *di) { g_clear_object (&di->source); - if (di->dest) - gtk_drop_target_detach (di->dest); g_clear_object (&di->dest); g_slice_free (TreeViewDragInfo, di); @@ -6773,6 +6771,11 @@ ensure_info (GtkTreeView *tree_view) static void remove_info (GtkTreeView *tree_view) { + TreeViewDragInfo *di; + + di = get_info (tree_view); + if (di && di->dest) + gtk_widget_remove_controller (GTK_WIDGET (tree_view), GTK_EVENT_CONTROLLER (di->dest)); g_object_set_data (G_OBJECT (tree_view), I_("gtk-tree-view-drag-info"), NULL); } @@ -12968,7 +12971,7 @@ gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, g_signal_connect (di->dest, "drag-leave", G_CALLBACK (gtk_tree_view_drag_leave), tree_view); g_signal_connect (di->dest, "drag-motion", G_CALLBACK (gtk_tree_view_drag_motion), tree_view); g_signal_connect (di->dest, "drag-drop", G_CALLBACK (gtk_tree_view_drag_drop), tree_view); - gtk_drop_target_attach (di->dest, GTK_WIDGET (tree_view)); + gtk_widget_add_controller (GTK_WIDGET (tree_view), GTK_EVENT_CONTROLLER (di->dest)); g_object_ref (di->dest); unset_reorderable (tree_view); @@ -13029,7 +13032,7 @@ gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view) { if (di->dest_set) { - gtk_drop_target_detach (di->dest); + gtk_widget_remove_controller (GTK_WIDGET (tree_view), GTK_EVENT_CONTROLLER (di->dest)); di->dest = NULL; di->dest_set = FALSE; } diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 0c5a8e3f6a..c0a5067a52 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1841,7 +1841,7 @@ gtk_window_init (GtkWindow *window) targets = gdk_content_formats_new (dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets)); dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE); gdk_content_formats_unref (targets); - gtk_drop_target_attach (dest, GTK_WIDGET (window)); + gtk_widget_add_controller (GTK_WIDGET (window), GTK_EVENT_CONTROLLER (dest)); #endif seat = gdk_display_get_default_seat (gtk_widget_get_display (widget)); diff --git a/tests/testdnd.c b/tests/testdnd.c index 9c43601ffe..4057e77235 100644 --- a/tests/testdnd.c +++ b/tests/testdnd.c @@ -504,7 +504,7 @@ popup_cb (gpointer data) dest = gtk_drop_target_new (targets, GDK_ACTION_COPY | GDK_ACTION_MOVE); g_signal_connect (dest, "drag-motion", G_CALLBACK (popup_motion), NULL); g_signal_connect (dest, "drag-leave", G_CALLBACK (popup_leave), NULL); - gtk_drop_target_attach (dest, button); + gtk_widget_add_controller (button, GTK_EVENT_CONTROLLER (dest)); } gtk_container_add (GTK_CONTAINER (popup_window), grid); gdk_content_formats_unref (targets); @@ -597,7 +597,7 @@ main (int argc, char **argv) targets = gdk_content_formats_new (target_table, n_targets - 1); /* no rootwin */ dest = gtk_drop_target_new (targets, GDK_ACTION_COPY | GDK_ACTION_MOVE); g_signal_connect (dest, "drag-drop", G_CALLBACK (label_drag_drop), NULL); - gtk_drop_target_attach (dest, label); + gtk_widget_add_controller (label, GTK_EVENT_CONTROLLER (dest)); gtk_widget_set_hexpand (label, TRUE); gtk_widget_set_vexpand (label, TRUE); @@ -608,7 +608,7 @@ main (int argc, char **argv) dest = gtk_drop_target_new (targets, GDK_ACTION_COPY | GDK_ACTION_MOVE); g_signal_connect (dest, "drag-motion", G_CALLBACK (popsite_motion), NULL); g_signal_connect (dest, "drag-leave", G_CALLBACK (popsite_leave), NULL); - gtk_drop_target_attach (dest, label); + gtk_widget_add_controller (label, GTK_EVENT_CONTROLLER (dest)); gtk_widget_set_hexpand (label, TRUE); gtk_widget_set_vexpand (label, TRUE); @@ -622,7 +622,7 @@ main (int argc, char **argv) g_signal_connect (dest, "drag-leave", G_CALLBACK (target_drag_leave), pixmap); g_signal_connect (dest, "drag-motion", G_CALLBACK (target_drag_motion), pixmap); g_signal_connect (dest, "drag-drop", G_CALLBACK (target_drag_drop), pixmap); - gtk_drop_target_attach (dest, pixmap); + gtk_widget_add_controller (pixmap, GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (targets); gtk_widget_set_hexpand (pixmap, TRUE); diff --git a/tests/testdnd2.c b/tests/testdnd2.c index 1911346026..98c44c8c76 100644 --- a/tests/testdnd2.c +++ b/tests/testdnd2.c @@ -307,7 +307,7 @@ make_image (const gchar *icon_name, int hotspot) dest = gtk_drop_target_new (formats, GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_ASK); g_signal_connect (dest, "drag-drop", G_CALLBACK (image_drag_drop), image); - gtk_drop_target_attach (dest, image); + gtk_widget_add_controller (image, GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (formats); diff --git a/tests/testlist3.c b/tests/testlist3.c index b43454ee76..5795067e93 100644 --- a/tests/testlist3.c +++ b/tests/testlist3.c @@ -90,7 +90,7 @@ create_row (const gchar *text) targets = gdk_content_formats_new (entries, 1); dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE); g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), row); - gtk_drop_target_attach (dest, row); + gtk_widget_add_controller (GTK_WIDGET (row), GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (targets); diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c index 8cea384793..1f95172137 100644 --- a/tests/testnotebookdnd.c +++ b/tests/testnotebookdnd.c @@ -303,7 +303,7 @@ create_trash_button (void) targets = gdk_content_formats_new (button_targets, G_N_ELEMENTS (button_targets)); dest = gtk_drop_target_new (targets, GDK_ACTION_MOVE); g_signal_connect (dest, "drag-drop", G_CALLBACK (on_button_drag_drop), NULL); - gtk_drop_target_attach (dest, button); + gtk_widget_add_controller (button, GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (targets); return button; diff --git a/tests/testtoolbar.c b/tests/testtoolbar.c index 82ee0a4f2b..d585bde96c 100644 --- a/tests/testtoolbar.c +++ b/tests/testtoolbar.c @@ -625,7 +625,7 @@ main (gint argc, gchar **argv) g_signal_connect (dest, "drag_motion", G_CALLBACK (toolbar_drag_motion), toolbar); g_signal_connect (dest, "drag_leave", G_CALLBACK (toolbar_drag_leave), toolbar); g_signal_connect (dest, "drag_drop", G_CALLBACK (toolbar_drag_drop), label); - gtk_drop_target_attach (dest, toolbar); + gtk_widget_add_controller (toolbar, GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (targets); gtk_widget_show (window); diff --git a/tests/testtreednd.c b/tests/testtreednd.c index 9b2d44c252..7de29236bc 100644 --- a/tests/testtreednd.c +++ b/tests/testtreednd.c @@ -127,7 +127,7 @@ get_droptarget (void) targets = gdk_content_formats_new (entries, G_N_ELEMENTS (entries)); dest = gtk_drop_target_new (targets, GDK_ACTION_COPY); g_signal_connect (dest, "drag-drop", G_CALLBACK (drag_drop), NULL); - gtk_drop_target_attach (dest, label); + gtk_widget_add_controller (label, GTK_EVENT_CONTROLLER (dest)); gdk_content_formats_unref (targets); return label;