summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2017-11-14 22:32:23 +0100
committerBenjamin Otte <otte@redhat.com>2017-11-15 19:07:17 +0100
commit5a1a11bcde0acacb455fc3df10d6bd8f67f62850 (patch)
tree859a7f528af6d5407eed89fd127914ac3103f7c9
parent7efc5a1558449194caedaae5f27e4c9c48d88ab7 (diff)
downloadgtk+-5a1a11bcde0acacb455fc3df10d6bd8f67f62850.tar.gz
dnd: Make GtkDragDest and GtkDragSource use GtkTargetList
This gets rid of GtkTargetEntry in the API and consistently uses GtkTargetList.
-rw-r--r--demos/gtk-demo/clipboard.c8
-rw-r--r--demos/icon-browser/iconbrowserwin.c17
-rw-r--r--gtk/gtkcalendar.c2
-rw-r--r--gtk/gtkcolorbutton.c8
-rw-r--r--gtk/gtkcolorswatch.c8
-rw-r--r--gtk/gtkdragdest.c15
-rw-r--r--gtk/gtkdragdest.h3
-rw-r--r--gtk/gtkdragsource.c19
-rw-r--r--gtk/gtkdragsource.h3
-rw-r--r--gtk/gtkentry.c2
-rw-r--r--gtk/gtkexpander.c2
-rw-r--r--gtk/gtkfilechooserbutton.c9
-rw-r--r--gtk/gtkfilechooserwidget.c4
-rw-r--r--gtk/gtkiconview.c30
-rw-r--r--gtk/gtkiconview.h6
-rw-r--r--gtk/gtklinkbutton.c5
-rw-r--r--gtk/gtknotebook.c5
-rw-r--r--gtk/gtkpathbar.c2
-rw-r--r--gtk/gtkplacessidebar.c2
-rw-r--r--gtk/gtkrecentchooserdefault.c2
-rw-r--r--gtk/gtkstackswitcher.c2
-rw-r--r--gtk/gtktextview.c2
-rw-r--r--gtk/gtktoolpalette.c17
-rw-r--r--gtk/gtktreeview.c33
-rw-r--r--gtk/gtktreeview.h6
-rw-r--r--gtk/gtkwindow.c5
-rw-r--r--tests/testdnd.c18
-rw-r--r--tests/testdnd2.c10
-rw-r--r--tests/testiconview.c16
-rw-r--r--tests/testimage.c4
-rw-r--r--tests/testkineticscrolling.c9
-rw-r--r--tests/testlist3.c9
-rw-r--r--tests/testnotebookdnd.c6
-rw-r--r--tests/testtoolbar.c7
-rw-r--r--tests/testtreecolumns.c22
-rw-r--r--tests/testtreednd.c10
-rw-r--r--tests/testtreeview.c9
37 files changed, 181 insertions, 156 deletions
diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c
index de9ffd80c8..7e01db4759 100644
--- a/demos/gtk-demo/clipboard.c
+++ b/demos/gtk-demo/clipboard.c
@@ -276,7 +276,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (hbox), image);
/* make image a drag source */
- gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (image);
g_signal_connect (image, "drag-begin",
G_CALLBACK (drag_begin), image);
@@ -285,7 +285,7 @@ do_clipboard (GtkWidget *do_widget)
/* accept drops on image */
gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL,
- NULL, 0, GDK_ACTION_COPY);
+ NULL, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (image);
g_signal_connect (image, "drag-data-received",
G_CALLBACK (drag_data_received), image);
@@ -300,7 +300,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (hbox), image);
/* make image a drag source */
- gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (image);
g_signal_connect (image, "drag-begin",
G_CALLBACK (drag_begin), image);
@@ -309,7 +309,7 @@ do_clipboard (GtkWidget *do_widget)
/* accept drops on image */
gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL,
- NULL, 0, GDK_ACTION_COPY);
+ NULL, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (image);
g_signal_connect (image, "drag-data-received",
G_CALLBACK (drag_data_received), image);
diff --git a/demos/icon-browser/iconbrowserwin.c b/demos/icon-browser/iconbrowserwin.c
index bd0e0d41bf..d82807566e 100644
--- a/demos/icon-browser/iconbrowserwin.c
+++ b/demos/icon-browser/iconbrowserwin.c
@@ -430,7 +430,7 @@ get_scalable_image_data (GtkWidget *widget,
static void
setup_image_dnd (GtkWidget *image)
{
- gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (image);
g_signal_connect (image, "drag-data-get", G_CALLBACK (get_image_data), NULL);
}
@@ -439,11 +439,14 @@ static void
setup_scalable_image_dnd (GtkWidget *image)
{
GtkWidget *parent;
+ GtkTargetList *targets;
parent = gtk_widget_get_parent (image);
+ targets = gtk_target_list_new (target_table, G_N_ELEMENTS (target_table));
gtk_drag_source_set (parent, GDK_BUTTON1_MASK,
- target_table, G_N_ELEMENTS (target_table),
+ targets,
GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
g_signal_connect (parent, "drag-data-get", G_CALLBACK (get_scalable_image_data), NULL);
}
@@ -452,22 +455,16 @@ static void
icon_browser_window_init (IconBrowserWindow *win)
{
GtkTargetList *list;
- GtkTargetEntry *targets;
- gint n_targets;
gtk_widget_init_template (GTK_WIDGET (win));
list = gtk_target_list_new (NULL, 0);
gtk_target_list_add_text_targets (list, 0);
- targets = gtk_target_table_new_from_list (list, &n_targets);
- gtk_target_list_unref (list);
-
gtk_icon_view_enable_model_drag_source (GTK_ICON_VIEW (win->list),
GDK_BUTTON1_MASK,
- targets, n_targets,
+ list,
GDK_ACTION_COPY);
-
- gtk_target_table_free (targets, n_targets);
+ gtk_target_list_unref (list);
setup_image_dnd (win->image1);
setup_image_dnd (win->image2);
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 9cb0a6e00c..7d4d07de82 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -758,7 +758,7 @@ gtk_calendar_init (GtkCalendar *calendar)
priv->in_drag = 0;
priv->drag_highlight = 0;
- gtk_drag_dest_set (widget, 0, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_dest_set (widget, 0, NULL, GDK_ACTION_COPY);
gtk_drag_dest_add_text_targets (widget);
priv->year_before = 0;
diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c
index e583cda0dd..3e142a6a73 100644
--- a/gtk/gtkcolorbutton.c
+++ b/gtk/gtkcolorbutton.c
@@ -388,6 +388,7 @@ gtk_color_button_init (GtkColorButton *button)
PangoLayout *layout;
PangoRectangle rect;
GtkStyleContext *context;
+ GtkTargetList *targets;
gtk_widget_set_has_window (GTK_WIDGET (button), FALSE);
@@ -416,15 +417,18 @@ gtk_color_button_init (GtkColorButton *button)
priv->rgba.alpha = 1;
priv->use_alpha = FALSE;
+ targets = gtk_target_list_new (drop_types, G_N_ELEMENTS (drop_types));
gtk_drag_dest_set (priv->button,
GTK_DEST_DEFAULT_MOTION |
GTK_DEST_DEFAULT_HIGHLIGHT |
GTK_DEST_DEFAULT_DROP,
- drop_types, 1, GDK_ACTION_COPY);
+ targets,
+ GDK_ACTION_COPY);
gtk_drag_source_set (priv->button,
GDK_BUTTON1_MASK|GDK_BUTTON3_MASK,
- drop_types, 1,
+ targets,
GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
g_signal_connect (priv->button, "drag-begin",
G_CALLBACK (gtk_color_button_drag_begin), button);
g_signal_connect (priv->button, "drag-data-received",
diff --git a/gtk/gtkcolorswatch.c b/gtk/gtkcolorswatch.c
index 4b2bf62165..b47a137fba 100644
--- a/gtk/gtkcolorswatch.c
+++ b/gtk/gtkcolorswatch.c
@@ -620,10 +620,12 @@ gtk_color_swatch_set_rgba (GtkColorSwatch *swatch,
if (!swatch->priv->has_color)
{
+ GtkTargetList *targets = gtk_target_list_new (dnd_targets, G_N_ELEMENTS (dnd_targets));
gtk_drag_source_set (GTK_WIDGET (swatch),
GDK_BUTTON1_MASK | GDK_BUTTON3_MASK,
- dnd_targets, G_N_ELEMENTS (dnd_targets),
+ targets,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
}
swatch->priv->has_color = TRUE;
@@ -681,12 +683,14 @@ gtk_color_swatch_set_can_drop (GtkColorSwatch *swatch,
{
if (can_drop)
{
+ GtkTargetList *targets = gtk_target_list_new (dnd_targets, G_N_ELEMENTS (dnd_targets));
gtk_drag_dest_set (GTK_WIDGET (swatch),
GTK_DEST_DEFAULT_HIGHLIGHT |
GTK_DEST_DEFAULT_MOTION |
GTK_DEST_DEFAULT_DROP,
- dnd_targets, G_N_ELEMENTS (dnd_targets),
+ targets,
GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
}
else
{
diff --git a/gtk/gtkdragdest.c b/gtk/gtkdragdest.c
index 05915b20ad..ccbc7b6690 100644
--- a/gtk/gtkdragdest.c
+++ b/gtk/gtkdragdest.c
@@ -97,11 +97,9 @@ gtk_drag_dest_set_internal (GtkWidget *widget,
* gtk_drag_dest_set: (method)
* @widget: a #GtkWidget
* @flags: which types of default drag behavior to use
- * @targets: (allow-none) (array length=n_targets): a pointer to an array of
- * #GtkTargetEntrys indicating the drop types that this @widget will
+ * @targets: (allow-none): the drop types that this @widget will
* accept, or %NULL. Later you can access the list with
* gtk_drag_dest_get_target_list() and gtk_drag_dest_find_target().
- * @n_targets: the number of entries in @targets
* @actions: a bitmask of possible actions for a drop onto this @widget.
*
* Sets a widget as a potential drop destination, and adds default behaviors.
@@ -145,11 +143,10 @@ gtk_drag_dest_set_internal (GtkWidget *widget,
* ]|
*/
void
-gtk_drag_dest_set (GtkWidget *widget,
- GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
+gtk_drag_dest_set (GtkWidget *widget,
+ GtkDestDefaults flags,
+ GtkTargetList *targets,
+ GdkDragAction actions)
{
GtkDragDestSite *site;
@@ -160,7 +157,7 @@ gtk_drag_dest_set (GtkWidget *widget,
site->flags = flags;
site->have_drag = FALSE;
if (targets)
- site->target_list = gtk_target_list_new (targets, n_targets);
+ site->target_list = gtk_target_list_ref (targets);
else
site->target_list = NULL;
site->actions = actions;
diff --git a/gtk/gtkdragdest.h b/gtk/gtkdragdest.h
index dfcbe529aa..609a32ebe3 100644
--- a/gtk/gtkdragdest.h
+++ b/gtk/gtkdragdest.h
@@ -69,8 +69,7 @@ typedef enum {
GDK_AVAILABLE_IN_ALL
void gtk_drag_dest_set (GtkWidget *widget,
GtkDestDefaults flags,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkdragsource.c b/gtk/gtkdragsource.c
index 6ed5e942d9..b60f984f57 100644
--- a/gtk/gtkdragsource.c
+++ b/gtk/gtkdragsource.c
@@ -125,20 +125,18 @@ gtk_drag_source_site_destroy (gpointer data)
* gtk_drag_source_set: (method)
* @widget: a #GtkWidget
* @start_button_mask: the bitmask of buttons that can start the drag
- * @targets: (allow-none) (array length=n_targets): the table of targets
- * that the drag will support, may be %NULL
- * @n_targets: the number of items in @targets
+ * @targets: (allow-none): the targets that the drag will support,
+ * may be %NULL
* @actions: the bitmask of possible actions for a drag from this widget
*
* Sets up a widget so that GTK+ will start a drag operation when the user
* clicks and drags on the widget. The widget must have a window.
*/
void
-gtk_drag_source_set (GtkWidget *widget,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
+gtk_drag_source_set (GtkWidget *widget,
+ GdkModifierType start_button_mask,
+ GtkTargetList *targets,
+ GdkDragAction actions)
{
GtkDragSourceSite *site;
@@ -179,7 +177,10 @@ gtk_drag_source_set (GtkWidget *widget,
site->start_button_mask = start_button_mask;
- site->target_list = gtk_target_list_new (targets, n_targets);
+ if (targets)
+ site->target_list = gtk_target_list_ref (targets);
+ else
+ site->target_list = NULL;
site->actions = actions;
}
diff --git a/gtk/gtkdragsource.h b/gtk/gtkdragsource.h
index cca2a9784c..8c1c6a2276 100644
--- a/gtk/gtkdragsource.h
+++ b/gtk/gtkdragsource.h
@@ -40,8 +40,7 @@ G_BEGIN_DECLS
GDK_AVAILABLE_IN_ALL
void gtk_drag_source_set (GtkWidget *widget,
GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 185450da66..9f5decaf0c 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -2466,7 +2466,7 @@ gtk_entry_init (GtkEntry *entry)
priv->caps_lock_warning = TRUE;
priv->caps_lock_warning_shown = FALSE;
- gtk_drag_dest_set (GTK_WIDGET (entry), 0, NULL, 0,
+ gtk_drag_dest_set (GTK_WIDGET (entry), 0, NULL,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
gtk_drag_dest_add_text_targets (GTK_WIDGET (entry));
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 19f0f96582..6090ef7942 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -377,7 +377,7 @@ gtk_expander_init (GtkExpander *expander)
GTK_STYLE_CLASS_HORIZONTAL);
gtk_container_add (GTK_CONTAINER (priv->title_widget), priv->arrow_widget);
- gtk_drag_dest_set (GTK_WIDGET (expander), 0, NULL, 0, 0);
+ gtk_drag_dest_set (GTK_WIDGET (expander), 0, NULL, 0);
gtk_drag_dest_set_track_motion (GTK_WIDGET (expander), TRUE);
priv->multipress_gesture = gtk_gesture_multi_press_new (GTK_WIDGET (expander));
diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c
index 932c7feb93..ae88e42e17 100644
--- a/gtk/gtkfilechooserbutton.c
+++ b/gtk/gtkfilechooserbutton.c
@@ -554,14 +554,13 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button)
NULL, NULL);
/* DnD */
- gtk_drag_dest_set (GTK_WIDGET (button),
- (GTK_DEST_DEFAULT_ALL),
- NULL, 0,
- GDK_ACTION_COPY);
target_list = gtk_target_list_new (NULL, 0);
gtk_target_list_add_uri_targets (target_list, TEXT_URI_LIST);
gtk_target_list_add_text_targets (target_list, TEXT_PLAIN);
- gtk_drag_dest_set_target_list (GTK_WIDGET (button), target_list);
+ gtk_drag_dest_set (GTK_WIDGET (button),
+ (GTK_DEST_DEFAULT_ALL),
+ target_list,
+ GDK_ACTION_COPY);
gtk_target_list_unref (target_list);
}
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 4176457d57..ffcd5943a8 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -8555,13 +8555,13 @@ post_process_ui (GtkFileChooserWidget *impl)
impl, NULL);
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (impl->priv->browse_files_tree_view),
GDK_BUTTON1_MASK,
- NULL, 0,
+ NULL,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
gtk_drag_source_add_uri_targets (impl->priv->browse_files_tree_view);
gtk_drag_dest_set (impl->priv->browse_files_tree_view,
GTK_DEST_DEFAULT_ALL,
- NULL, 0,
+ NULL,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
gtk_drag_dest_add_uri_targets (impl->priv->browse_files_tree_view);
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 656a21a7cb..48771e5dc4 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -6555,9 +6555,7 @@ gtk_icon_view_drag_data_received (GtkWidget *widget,
* gtk_icon_view_enable_model_drag_source:
* @icon_view: a #GtkIconView
* @start_button_mask: Mask of allowed buttons to start drag
- * @targets: (array length=n_targets): the table of targets that the drag will
- * support
- * @n_targets: the number of items in @targets
+ * @targets: the targets that the drag will support
* @actions: the bitmask of possible actions for a drag from this
* widget
*
@@ -6569,13 +6567,12 @@ gtk_icon_view_drag_data_received (GtkWidget *widget,
void
gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions)
{
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
- gtk_drag_source_set (GTK_WIDGET (icon_view), 0, targets, n_targets, actions);
+ gtk_drag_source_set (GTK_WIDGET (icon_view), 0, targets, actions);
icon_view->priv->start_button_mask = start_button_mask;
icon_view->priv->source_actions = actions;
@@ -6588,9 +6585,7 @@ gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
/**
* gtk_icon_view_enable_model_drag_dest:
* @icon_view: a #GtkIconView
- * @targets: (array length=n_targets): the table of targets that the drag will
- * support
- * @n_targets: the number of items in @targets
+ * @targets: the targets that the drag will support
* @actions: the bitmask of possible actions for a drag to this
* widget
*
@@ -6600,14 +6595,13 @@ gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
* Since: 2.8
**/
void
-gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
+gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
+ GtkTargetList *targets,
+ GdkDragAction actions)
{
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
- gtk_drag_dest_set (GTK_WIDGET (icon_view), 0, targets, n_targets, actions);
+ gtk_drag_dest_set (GTK_WIDGET (icon_view), 0, targets, actions);
icon_view->priv->dest_actions = actions;
@@ -6943,15 +6937,15 @@ gtk_icon_view_set_reorderable (GtkIconView *icon_view,
if (reorderable)
{
+ GtkTargetList *targets = gtk_target_list_new (item_targets, G_N_ELEMENTS (item_targets));
gtk_icon_view_enable_model_drag_source (icon_view,
GDK_BUTTON1_MASK,
- item_targets,
- G_N_ELEMENTS (item_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_icon_view_enable_model_drag_dest (icon_view,
- item_targets,
- G_N_ELEMENTS (item_targets),
+ targets,
GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
}
else
{
diff --git a/gtk/gtkiconview.h b/gtk/gtkiconview.h
index ee409f0cb3..fc402c285f 100644
--- a/gtk/gtkiconview.h
+++ b/gtk/gtkiconview.h
@@ -253,13 +253,11 @@ void gtk_icon_view_scroll_to_path (GtkIconView *icon_
GDK_AVAILABLE_IN_ALL
void gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view,
GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
void gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
void gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view);
diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c
index 382776a772..de87bfa8c5 100644
--- a/gtk/gtklinkbutton.c
+++ b/gtk/gtklinkbutton.c
@@ -218,6 +218,7 @@ gtk_link_button_init (GtkLinkButton *link_button)
{
GtkLinkButtonPrivate *priv = gtk_link_button_get_instance_private (link_button);
GtkStyleContext *context;
+ GtkTargetList *targets;
link_button->priv = priv;
@@ -232,10 +233,12 @@ gtk_link_button_init (GtkLinkButton *link_button)
G_CALLBACK (gtk_link_button_query_tooltip_cb), NULL);
/* enable drag source */
+ targets = gtk_target_list_new (link_drop_types, G_N_ELEMENTS (link_drop_types));
gtk_drag_source_set (GTK_WIDGET (link_button),
GDK_BUTTON1_MASK,
- link_drop_types, G_N_ELEMENTS (link_drop_types),
+ targets,
GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
priv->click_gesture = gtk_gesture_multi_press_new (GTK_WIDGET (link_button));
gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (priv->click_gesture), FALSE);
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index 65be844ca1..419b48cb95 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -1050,6 +1050,7 @@ static void
gtk_notebook_init (GtkNotebook *notebook)
{
GtkNotebookPrivate *priv;
+ GtkTargetList *targets;
gtk_widget_set_can_focus (GTK_WIDGET (notebook), TRUE);
gtk_widget_set_has_window (GTK_WIDGET (notebook), FALSE);
@@ -1087,9 +1088,11 @@ gtk_notebook_init (GtkNotebook *notebook)
else
priv->tabs_reversed = FALSE;
+ targets = gtk_target_list_new (dst_notebook_targets, G_N_ELEMENTS (dst_notebook_targets));
gtk_drag_dest_set (GTK_WIDGET (notebook), 0,
- dst_notebook_targets, G_N_ELEMENTS (dst_notebook_targets),
+ targets,
GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
gtk_drag_dest_set_track_motion (GTK_WIDGET (notebook), TRUE);
diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c
index 7895a90be4..b4618346a6 100644
--- a/gtk/gtkpathbar.c
+++ b/gtk/gtkpathbar.c
@@ -1549,7 +1549,7 @@ make_directory_button (GtkPathBar *path_bar,
gtk_drag_source_set (button_data->button,
GDK_BUTTON1_MASK,
- NULL, 0,
+ NULL,
GDK_ACTION_COPY);
gtk_drag_source_add_uri_targets (button_data->button);
g_signal_connect (button_data->button, "drag-data-get",
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index acd866f158..e758d2a1ec 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -4072,7 +4072,7 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar)
/* DND support */
gtk_drag_dest_set (sidebar->list_box,
0,
- NULL, 0,
+ NULL,
GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK);
target_list = gtk_target_list_new (dnd_drop_targets, G_N_ELEMENTS (dnd_drop_targets));
gtk_target_list_add_uri_targets (target_list, DND_TEXT_URI_LIST);
diff --git a/gtk/gtkrecentchooserdefault.c b/gtk/gtkrecentchooserdefault.c
index 4eca2d43ba..49b949b8d8 100644
--- a/gtk/gtkrecentchooserdefault.c
+++ b/gtk/gtkrecentchooserdefault.c
@@ -380,7 +380,7 @@ _gtk_recent_chooser_default_init (GtkRecentChooserDefault *impl)
NULL);
gtk_drag_source_set (priv->recent_view,
GDK_BUTTON1_MASK,
- NULL, 0,
+ NULL,
GDK_ACTION_COPY);
gtk_drag_source_add_uri_targets (priv->recent_view);
}
diff --git a/gtk/gtkstackswitcher.c b/gtk/gtkstackswitcher.c
index 77d567055b..06fd45700f 100644
--- a/gtk/gtkstackswitcher.c
+++ b/gtk/gtkstackswitcher.c
@@ -99,7 +99,7 @@ gtk_stack_switcher_init (GtkStackSwitcher *switcher)
gtk_orientable_set_orientation (GTK_ORIENTABLE (switcher), GTK_ORIENTATION_HORIZONTAL);
- gtk_drag_dest_set (GTK_WIDGET (switcher), 0, NULL, 0, 0);
+ gtk_drag_dest_set (GTK_WIDGET (switcher), 0, NULL, 0);
gtk_drag_dest_set_track_motion (GTK_WIDGET (switcher), TRUE);
}
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index f03428fbe1..f322a204b6 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -1659,7 +1659,7 @@ gtk_text_view_init (GtkTextView *text_view)
priv->scroll_after_paste = TRUE;
- gtk_drag_dest_set (widget, 0, NULL, 0,
+ gtk_drag_dest_set (widget, 0, NULL,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
target_list = gtk_target_list_new (NULL, 0);
diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c
index 19570f8957..b2d85c3f18 100644
--- a/gtk/gtktoolpalette.c
+++ b/gtk/gtktoolpalette.c
@@ -1616,6 +1616,7 @@ gtk_tool_palette_add_drag_dest (GtkToolPalette *palette,
{
GtkTargetEntry entries[G_N_ELEMENTS (dnd_targets)];
gint n_entries = 0;
+ GtkTargetList *list;
g_return_if_fail (GTK_IS_TOOL_PALETTE (palette));
g_return_if_fail (GTK_IS_WIDGET (widget));
@@ -1628,7 +1629,9 @@ gtk_tool_palette_add_drag_dest (GtkToolPalette *palette,
if (targets & GTK_TOOL_PALETTE_DRAG_GROUPS)
entries[n_entries++] = dnd_targets[1];
- gtk_drag_dest_set (widget, flags, entries, n_entries, actions);
+ list = gtk_target_list_new (entries, n_entries);
+ gtk_drag_dest_set (widget, flags, list, actions);
+ gtk_target_list_unref (list);
}
void
@@ -1727,6 +1730,8 @@ _gtk_tool_palette_child_set_drag_source (GtkWidget *child,
if (GTK_IS_TOOL_ITEM (child) &&
(palette->priv->drag_source & GTK_TOOL_PALETTE_DRAG_ITEMS))
{
+ GtkTargetList *targets;
+
/* Connect to child instead of the item itself,
* to work arround bug 510377.
*/
@@ -1736,8 +1741,10 @@ _gtk_tool_palette_child_set_drag_source (GtkWidget *child,
if (!child)
return;
+ targets = gtk_target_list_new (&dnd_targets[0], 1);
gtk_drag_source_set (child, GDK_BUTTON1_MASK | GDK_BUTTON3_MASK,
- &dnd_targets[0], 1, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+ targets, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
g_signal_connect (child, "drag-data-get",
G_CALLBACK (gtk_tool_palette_item_drag_data_get),
@@ -1746,8 +1753,12 @@ _gtk_tool_palette_child_set_drag_source (GtkWidget *child,
else if (GTK_IS_BUTTON (child) &&
(palette->priv->drag_source & GTK_TOOL_PALETTE_DRAG_GROUPS))
{
+ GtkTargetList *targets;
+
+ targets = gtk_target_list_new (&dnd_targets[1], 1);
gtk_drag_source_set (child, GDK_BUTTON1_MASK | GDK_BUTTON3_MASK,
- &dnd_targets[1], 1, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+ targets, GDK_ACTION_COPY | GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
g_signal_connect (child, "drag-data-get",
G_CALLBACK (gtk_tool_palette_child_drag_data_get),
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index e0d68b8241..d623415cfa 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -12549,15 +12549,16 @@ gtk_tree_view_set_reorderable (GtkTreeView *tree_view,
const GtkTargetEntry row_targets[] = {
{ (char *) "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, 0 }
};
+ GtkTargetList *targets;
+
+ targets = gtk_target_list_new (row_targets, G_N_ELEMENTS (row_targets));
gtk_tree_view_enable_model_drag_source (tree_view,
GDK_BUTTON1_MASK,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_dest (tree_view,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
}
else
@@ -13534,8 +13535,7 @@ unset_reorderable (GtkTreeView *tree_view)
* gtk_tree_view_enable_model_drag_source:
* @tree_view: a #GtkTreeView
* @start_button_mask: Mask of allowed buttons to start drag
- * @targets: (array length=n_targets): the table of targets that the drag will support
- * @n_targets: the number of items in @targets
+ * @targets: the targets that the drag will support
* @actions: the bitmask of possible actions for a drag from this
* widget
*
@@ -13543,11 +13543,10 @@ unset_reorderable (GtkTreeView *tree_view)
* method sets #GtkTreeView:reorderable to %FALSE.
**/
void
-gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,
- GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
+gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,
+ GdkModifierType start_button_mask,
+ GtkTargetList *targets,
+ GdkDragAction actions)
{
TreeViewDragInfo *di;
@@ -13556,7 +13555,6 @@ gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,
gtk_drag_source_set (GTK_WIDGET (tree_view),
0,
targets,
- n_targets,
actions);
di = ensure_info (tree_view);
@@ -13571,8 +13569,7 @@ gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,
/**
* gtk_tree_view_enable_model_drag_dest:
* @tree_view: a #GtkTreeView
- * @targets: (array length=n_targets): the table of targets that
- * the drag will support
+ * @targets: the targets that the drag will support
* @n_targets: the number of items in @targets
* @actions: the bitmask of possible actions for a drag from this
* widget
@@ -13581,10 +13578,9 @@ gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,
* this method sets #GtkTreeView:reorderable to %FALSE.
**/
void
-gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,
- const GtkTargetEntry *targets,
- gint n_targets,
- GdkDragAction actions)
+gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,
+ GtkTargetList *targets,
+ GdkDragAction actions)
{
TreeViewDragInfo *di;
@@ -13593,7 +13589,6 @@ gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,
gtk_drag_dest_set (GTK_WIDGET (tree_view),
0,
targets,
- n_targets,
actions);
di = ensure_info (tree_view);
diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h
index da4062b0f4..147e568753 100644
--- a/gtk/gtktreeview.h
+++ b/gtk/gtktreeview.h
@@ -382,13 +382,11 @@ gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView
GDK_AVAILABLE_IN_ALL
void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view,
GdkModifierType start_button_mask,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view,
- const GtkTargetEntry *targets,
- gint n_targets,
+ GtkTargetList *targets,
GdkDragAction actions);
GDK_AVAILABLE_IN_ALL
void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view);
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 5b19d7503f..340ee59b2a 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1844,6 +1844,7 @@ gtk_window_init (GtkWindow *window)
GtkWidget *widget;
GtkCssNode *widget_node;
GdkSeat *seat;
+ GtkTargetList *targets;
widget = GTK_WIDGET (window);
@@ -1905,10 +1906,12 @@ gtk_window_init (GtkWindow *window)
priv->scale = gtk_widget_get_scale_factor (widget);
+ targets = gtk_target_list_new (dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets));
gtk_drag_dest_set (GTK_WIDGET (window),
GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP,
- dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets),
+ targets,
GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
seat = gdk_display_get_default_seat (gtk_widget_get_display (widget));
g_signal_connect (seat, "device-removed",
diff --git a/tests/testdnd.c b/tests/testdnd.c
index c93c2e9e7f..be3a963451 100644
--- a/tests/testdnd.c
+++ b/tests/testdnd.c
@@ -496,11 +496,13 @@ popup_cb (gpointer data)
GtkWidget *button;
GtkWidget *grid;
int i, j;
+ GtkTargetList *targets;
popup_window = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_position (GTK_WINDOW (popup_window), GTK_WIN_POS_MOUSE);
grid = gtk_grid_new ();
+ targets = gtk_target_list_new (target_table, n_targets - 1); /* no rootwin */
for (i=0; i<3; i++)
for (j=0; j<3; j++)
@@ -514,7 +516,7 @@ popup_cb (gpointer data)
gtk_drag_dest_set (button,
GTK_DEST_DEFAULT_ALL,
- target_table, n_targets - 1, /* no rootwin */
+ targets,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
g_signal_connect (button, "drag_motion",
G_CALLBACK (popup_motion), NULL);
@@ -522,6 +524,7 @@ popup_cb (gpointer data)
G_CALLBACK (popup_leave), NULL);
}
gtk_container_add (GTK_CONTAINER (popup_window), grid);
+ gtk_target_list_unref (targets);
}
gtk_widget_show (popup_window);
@@ -585,6 +588,7 @@ main (int argc, char **argv)
GtkWidget *pixmap;
GtkWidget *button;
GdkPixbuf *drag_icon;
+ GtkTargetList *targets;
test_init ();
@@ -604,9 +608,10 @@ main (int argc, char **argv)
label = gtk_label_new ("Drop Here\n");
+ targets = gtk_target_list_new (target_table, n_targets - 1); /* no rootwin */
gtk_drag_dest_set (label,
GTK_DEST_DEFAULT_ALL,
- target_table, n_targets - 1, /* no rootwin */
+ targets,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
g_signal_connect (label, "drag_data_received",
@@ -620,7 +625,7 @@ main (int argc, char **argv)
gtk_drag_dest_set (label,
GTK_DEST_DEFAULT_ALL,
- target_table, n_targets - 1, /* no rootwin */
+ targets,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
gtk_widget_set_hexpand (label, TRUE);
@@ -631,9 +636,10 @@ main (int argc, char **argv)
G_CALLBACK (popsite_motion), NULL);
g_signal_connect (label, "drag_leave",
G_CALLBACK (popsite_leave), NULL);
+ gtk_target_list_unref (targets);
pixmap = gtk_image_new_from_pixbuf (trashcan_closed);
- gtk_drag_dest_set (pixmap, 0, NULL, 0, 0);
+ gtk_drag_dest_set (pixmap, 0, NULL, 0);
gtk_widget_set_hexpand (pixmap, TRUE);
gtk_widget_set_vexpand (pixmap, TRUE);
gtk_grid_attach (GTK_GRID (grid), pixmap, 1, 0, 1, 1);
@@ -654,10 +660,12 @@ main (int argc, char **argv)
button = gtk_button_new_with_label ("Drag Here\n");
+ targets = gtk_target_list_new (target_table, n_targets);
gtk_drag_source_set (button, GDK_BUTTON1_MASK | GDK_BUTTON3_MASK,
- target_table, n_targets,
+ targets,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
gtk_drag_source_set_icon_pixbuf (button, drag_icon);
+ gtk_target_list_unref (targets);
g_object_unref (drag_icon);
diff --git a/tests/testdnd2.c b/tests/testdnd2.c
index fe0e2eca07..67d0bb99ca 100644
--- a/tests/testdnd2.c
+++ b/tests/testdnd2.c
@@ -226,7 +226,7 @@ make_image (const gchar *icon_name, int hotspot)
image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_DIALOG);
- gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
update_source_target_list (image);
g_object_set_data (G_OBJECT (image), "hotspot", GINT_TO_POINTER (hotspot));
@@ -234,7 +234,7 @@ make_image (const gchar *icon_name, int hotspot)
g_signal_connect (image, "drag-begin", G_CALLBACK (image_drag_begin), image);
g_signal_connect (image, "drag-data-get", G_CALLBACK (image_drag_data_get), image);
- gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL, NULL, GDK_ACTION_COPY);
g_signal_connect (image, "drag-data-received", G_CALLBACK (image_drag_data_received), image);
update_dest_target_list (image);
@@ -248,7 +248,7 @@ make_image2 (const gchar *icon_name, int hotspot)
image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_DIALOG);
- gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
update_source_target_list (image);
g_object_set_data (G_OBJECT (image), "hotspot", GINT_TO_POINTER (hotspot));
@@ -256,7 +256,7 @@ make_image2 (const gchar *icon_name, int hotspot)
g_signal_connect (image, "drag-begin", G_CALLBACK (window_drag_begin), image);
g_signal_connect (image, "drag-data-get", G_CALLBACK (image_drag_data_get), image);
- gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL, NULL, GDK_ACTION_COPY);
g_signal_connect (image, "drag-data-received", G_CALLBACK (image_drag_data_received), image);
update_dest_target_list (image);
@@ -328,7 +328,7 @@ make_spinner (void)
spinner = gtk_spinner_new ();
gtk_spinner_start (GTK_SPINNER (spinner));
- gtk_drag_source_set (spinner, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_source_set (spinner, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
gtk_drag_source_add_text_targets (spinner);
g_signal_connect (spinner, "drag-begin", G_CALLBACK (spinner_drag_begin), spinner);
diff --git a/tests/testiconview.c b/tests/testiconview.c
index ef7e85f8e6..ba93785d84 100644
--- a/tests/testiconview.c
+++ b/tests/testiconview.c
@@ -425,6 +425,7 @@ main (gint argc, gchar **argv)
GtkTreeModel *model;
GtkCellRenderer *cell;
GtkTreeViewColumn *tvc;
+ GtkTargetList *targets;
#ifdef GTK_SRCDIR
g_chdir (GTK_SRCDIR);
@@ -527,26 +528,23 @@ main (gint argc, gchar **argv)
#endif
/* Allow DND between the icon view and the tree view */
+ targets = gtk_target_list_new (item_targets, G_N_ELEMENTS (item_targets));
gtk_icon_view_enable_model_drag_source (GTK_ICON_VIEW (icon_list),
GDK_BUTTON1_MASK,
- item_targets,
- G_N_ELEMENTS (item_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_icon_view_enable_model_drag_dest (GTK_ICON_VIEW (icon_list),
- item_targets,
- G_N_ELEMENTS (item_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (tv),
GDK_BUTTON1_MASK,
- item_targets,
- G_N_ELEMENTS (item_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (tv),
- item_targets,
- G_N_ELEMENTS (item_targets),
+ targets,
GDK_ACTION_MOVE);
-
+ gtk_target_list_unref (targets);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_container_add (GTK_CONTAINER (scrolled_window), icon_list);
diff --git a/tests/testimage.c b/tests/testimage.c
index a9be8683d2..e246635c6d 100644
--- a/tests/testimage.c
+++ b/tests/testimage.c
@@ -115,7 +115,7 @@ main (int argc, char **argv)
gtk_grid_attach (GTK_GRID (grid), image, 2, 1, 1, 1);
gtk_drag_source_set (image, GDK_BUTTON1_MASK,
- NULL, 0,
+ NULL,
GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (image);
g_signal_connect (image, "drag_begin", G_CALLBACK (drag_begin), image);
@@ -125,7 +125,7 @@ main (int argc, char **argv)
GTK_DEST_DEFAULT_MOTION |
GTK_DEST_DEFAULT_HIGHLIGHT |
GTK_DEST_DEFAULT_DROP,
- NULL, 0, GDK_ACTION_COPY);
+ NULL, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (image);
g_signal_connect (image, "drag_data_received",
G_CALLBACK (drag_data_received), image);
diff --git a/tests/testkineticscrolling.c b/tests/testkineticscrolling.c
index fe412d0fa7..6f9fe2993c 100644
--- a/tests/testkineticscrolling.c
+++ b/tests/testkineticscrolling.c
@@ -26,6 +26,7 @@ kinetic_scrolling (void)
GtkCellRenderer *renderer;
GtkListStore *store;
GtkWidget *textview;
+ GtkTargetList *targets;
gint i;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -75,15 +76,15 @@ kinetic_scrolling (void)
gtk_widget_show (swindow);
treeview = gtk_tree_view_new ();
+ targets = gtk_target_list_new (row_targets, G_N_ELEMENTS (row_targets));
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (treeview),
GDK_BUTTON1_MASK,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE | GDK_ACTION_COPY);
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (treeview),
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE | GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "editable", TRUE, NULL);
diff --git a/tests/testlist3.c b/tests/testlist3.c
index 68bf67761c..aa99b342f7 100644
--- a/tests/testlist3.c
+++ b/tests/testlist3.c
@@ -83,6 +83,7 @@ static GtkWidget *
create_row (const gchar *text)
{
GtkWidget *row, *box, *label, *image;
+ GtkTargetList *targets;
row = gtk_list_box_row_new ();
image = gtk_image_new_from_icon_name ("open-menu-symbolic", 1);
@@ -94,13 +95,17 @@ create_row (const gchar *text)
gtk_container_add (GTK_CONTAINER (box), label);
gtk_container_add (GTK_CONTAINER (box), image);
- gtk_drag_source_set (image, GDK_BUTTON1_MASK, entries, 1, GDK_ACTION_MOVE);
+ targets = gtk_target_list_new (entries, 1);
+
+ gtk_drag_source_set (image, GDK_BUTTON1_MASK, targets, GDK_ACTION_MOVE);
g_signal_connect (image, "drag-begin", G_CALLBACK (drag_begin), NULL);
g_signal_connect (image, "drag-data-get", G_CALLBACK (drag_data_get), NULL);
- gtk_drag_dest_set (row, GTK_DEST_DEFAULT_ALL, entries, 1, GDK_ACTION_MOVE);
+ gtk_drag_dest_set (row, GTK_DEST_DEFAULT_ALL, targets, GDK_ACTION_MOVE);
g_signal_connect (row, "drag-data-received", G_CALLBACK (drag_data_received), NULL);
+ gtk_target_list_unref (targets);
+
return row;
}
diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c
index bf050e4e53..3bda059c86 100644
--- a/tests/testnotebookdnd.c
+++ b/tests/testnotebookdnd.c
@@ -301,15 +301,17 @@ create_notebook_with_notebooks (gchar **labels,
static GtkWidget*
create_trash_button (void)
{
+ GtkTargetList *targets;
GtkWidget *button;
button = gtk_button_new_with_mnemonic ("_Delete");
+ targets = gtk_target_list_new (button_targets, G_N_ELEMENTS (button_targets));
gtk_drag_dest_set (button,
GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP,
- button_targets,
- G_N_ELEMENTS (button_targets),
+ targets,
GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
g_signal_connect_after (G_OBJECT (button), "drag-data-received",
G_CALLBACK (on_button_drag_data_received), NULL);
diff --git a/tests/testtoolbar.c b/tests/testtoolbar.c
index 8b18e3e09d..12a776239c 100644
--- a/tests/testtoolbar.c
+++ b/tests/testtoolbar.c
@@ -479,6 +479,7 @@ main (gint argc, gchar **argv)
GtkWidget *window, *toolbar, *grid, *treeview, *scrolled_window;
GtkWidget *hbox, *hbox1, *hbox2, *checkbox, *option_menu, *menu;
gint i;
+ GtkTargetList *targets;
static const gchar *toolbar_styles[] = { "icons", "text", "both (vertical)",
"both (horizontal)" };
GtkToolItem *item;
@@ -712,12 +713,14 @@ main (gint argc, gchar **argv)
gtk_box_pack_end (GTK_BOX (hbox), checkbox);
+ targets = gtk_target_list_new (target_table, G_N_ELEMENTS (target_table));
gtk_drag_source_set (button, GDK_BUTTON1_MASK,
- target_table, G_N_ELEMENTS (target_table),
+ targets,
GDK_ACTION_MOVE);
gtk_drag_dest_set (toolbar, GTK_DEST_DEFAULT_DROP,
- target_table, G_N_ELEMENTS (target_table),
+ targets,
GDK_ACTION_MOVE);
+ gtk_target_list_unref (targets);
g_signal_connect (toolbar, "drag_motion",
G_CALLBACK (toolbar_drag_motion), NULL);
g_signal_connect (toolbar, "drag_leave",
diff --git a/tests/testtreecolumns.c b/tests/testtreecolumns.c
index 7112643ba6..5fb8267000 100644
--- a/tests/testtreecolumns.c
+++ b/tests/testtreecolumns.c
@@ -718,6 +718,7 @@ main (int argc, char *argv[])
GtkCellRenderer *cell;
GtkWidget *swindow;
GtkTreeModel *sample_model;
+ GtkTargetList *targets;
gint i;
gtk_init ();
@@ -863,36 +864,31 @@ main (int argc, char *argv[])
/* Drag and Drop */
+ targets = gtk_target_list_new (row_targets, G_N_ELEMENTS (row_targets));
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (left_tree_view),
GDK_BUTTON1_MASK,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (left_tree_view),
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (top_right_tree_view),
GDK_BUTTON1_MASK,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (top_right_tree_view),
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (bottom_right_tree_view),
GDK_BUTTON1_MASK,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (bottom_right_tree_view),
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE);
-
+ gtk_target_list_unref (targets);
gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL));
diff --git a/tests/testtreednd.c b/tests/testtreednd.c
index 96a8f9ee38..37eef92faf 100644
--- a/tests/testtreednd.c
+++ b/tests/testtreednd.c
@@ -73,6 +73,7 @@ get_dragsource (void)
GtkTreeView *tv;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
+ GtkTargetList *targets;
tv = (GtkTreeView*) gtk_tree_view_new ();
renderer = gtk_cell_renderer_text_new ();
@@ -80,7 +81,9 @@ get_dragsource (void)
gtk_tree_view_append_column (tv, column);
gtk_tree_view_set_model (tv, get_model ());
- gtk_tree_view_enable_model_drag_source (tv, GDK_BUTTON1_MASK, entries, G_N_ELEMENTS (entries), GDK_ACTION_COPY);
+ targets = gtk_target_list_new (entries, G_N_ELEMENTS (entries));
+ gtk_tree_view_enable_model_drag_source (tv, GDK_BUTTON1_MASK, targets, GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
return GTK_WIDGET (tv);
}
@@ -104,10 +107,13 @@ static GtkWidget *
get_droptarget (void)
{
GtkWidget *label;
+ GtkTargetList *targets;
label = gtk_label_new ("Drop here");
- gtk_drag_dest_set (label, GTK_DEST_DEFAULT_ALL, entries, G_N_ELEMENTS (entries), GDK_ACTION_COPY);
+ targets = gtk_target_list_new (entries, G_N_ELEMENTS (entries));
+ gtk_drag_dest_set (label, GTK_DEST_DEFAULT_ALL, targets, GDK_ACTION_COPY);
g_signal_connect (label, "drag-data-received", G_CALLBACK (data_received), NULL);
+ gtk_target_list_unref (targets);
return label;
}
diff --git a/tests/testtreeview.c b/tests/testtreeview.c
index 2dd7930b9b..d73551aa0e 100644
--- a/tests/testtreeview.c
+++ b/tests/testtreeview.c
@@ -661,6 +661,7 @@ main (int argc,
GtkWidget *box;
GtkWidget *combo_box;
GtkTreeModel *model;
+ GtkTargetList *targets;
gint i;
gtk_init ();
@@ -702,16 +703,16 @@ main (int argc,
tv = gtk_tree_view_new_with_model (models[0]);
g_signal_connect (tv, "row-activated", G_CALLBACK (on_row_activated), NULL);
+ targets = gtk_target_list_new (row_targets, G_N_ELEMENTS (row_targets));
gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (tv),
GDK_BUTTON1_MASK,
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE | GDK_ACTION_COPY);
gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (tv),
- row_targets,
- G_N_ELEMENTS (row_targets),
+ targets,
GDK_ACTION_MOVE | GDK_ACTION_COPY);
+ gtk_target_list_unref (targets);
/* Model menu */
combo_box = gtk_combo_box_text_new ();