Index: gtk/gtkdnd.c =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtkdnd.c,v retrieving revision 1.105 diff -u -p -r1.105 gtkdnd.c --- gtk/gtkdnd.c 3 Sep 2003 19:57:05 -0000 1.105 +++ gtk/gtkdnd.c 20 Nov 2003 16:57:52 -0000 @@ -2099,6 +2099,43 @@ gtk_drag_source_unset (GtkWidget } } +GtkTargetList * +gtk_drag_source_get_target_list (GtkWidget *widget) +{ + GtkDragSourceSite *site; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); + + site = g_object_get_data (G_OBJECT (widget), "gtk-site-data"); + + return site ? site->target_list : NULL; +} + +void +gtk_drag_source_set_target_list (GtkWidget *widget, + GtkTargetList *target_list) +{ + GtkDragSourceSite *site; + + g_return_if_fail (GTK_IS_WIDGET (widget)); + + site = g_object_get_data (G_OBJECT (widget), "gtk-site-data"); + + if (site == NULL) + { + g_warning ("can't set a target list on a widget until you've called gtk_drag_source_set() to make the widget into a drag source"); + return; + } + + if (target_list) + gtk_target_list_ref (target_list); + + if (site->target_list) + gtk_target_list_unref (site->target_list); + + site->target_list = target_list; +} + static void gtk_drag_source_unset_icon (GtkDragSourceSite *site) { Index: gtk/gtkdnd.h =================================================================== RCS file: /cvs/gnome/gtk+/gtk/gtkdnd.h,v retrieving revision 1.12 diff -u -p -r1.12 gtkdnd.h --- gtk/gtkdnd.h 8 Nov 2002 19:41:41 -0000 1.12 +++ gtk/gtkdnd.h 20 Nov 2003 16:57:52 -0000 @@ -96,6 +96,10 @@ void gtk_drag_source_set (GtkWidget void gtk_drag_source_unset (GtkWidget *widget); +GtkTargetList* gtk_drag_source_get_target_list (GtkWidget *widget); +void gtk_drag_source_set_target_list (GtkWidget *widget, + GtkTargetList *target_list); + void gtk_drag_source_set_icon (GtkWidget *widget, GdkColormap *colormap, GdkPixmap *pixmap,