diff options
author | Christian Persch <chpe@svn.gnome.org> | 2007-01-14 18:47:36 +0000 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2007-01-14 18:47:36 +0000 |
commit | 6400dda3a0ae38f89bbd3d09d76213d6270988b4 (patch) | |
tree | 52a68f41eac47e8675c782892f736e2497ebc388 /gtk/gtkclipboard.c | |
parent | 653d2932b254f44b6fdc08adf962e9880b52297c (diff) | |
download | gtk+-6400dda3a0ae38f89bbd3d09d76213d6270988b4.tar.gz |
Use gtk_target_table_new_from_list and gtk_target_table_free instead of
2007-01-14 Christian Persch <chpe@svn.gnome.org>
* gtk/gtkclipboard.c: (gtk_clipboard_set_text),
(gtk_clipboard_set_image): Use gtk_target_table_new_from_list and
gtk_target_table_free instead of duplicating the code. Bug #396493.
svn path=/trunk/; revision=17152
Diffstat (limited to 'gtk/gtkclipboard.c')
-rw-r--r-- | gtk/gtkclipboard.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/gtk/gtkclipboard.c b/gtk/gtkclipboard.c index a2f0fcb765..ec8ad9d06a 100644 --- a/gtk/gtkclipboard.c +++ b/gtk/gtkclipboard.c @@ -728,9 +728,8 @@ gtk_clipboard_set_text (GtkClipboard *clipboard, gint len) { GtkTargetList *list; - GList *l; GtkTargetEntry *targets; - gint n_targets, i; + gint n_targets; g_return_if_fail (clipboard != NULL); g_return_if_fail (text != NULL); @@ -738,13 +737,7 @@ gtk_clipboard_set_text (GtkClipboard *clipboard, list = gtk_target_list_new (NULL, 0); gtk_target_list_add_text_targets (list, 0); - n_targets = g_list_length (list->list); - targets = g_new0 (GtkTargetEntry, n_targets); - for (l = list->list, i = 0; l; l = l->next, i++) - { - GtkTargetPair *pair = (GtkTargetPair *)l->data; - targets[i].target = gdk_atom_name (pair->target); - } + targets = gtk_target_table_new_from_list (list, &n_targets); if (len < 0) len = strlen (text); @@ -755,9 +748,7 @@ gtk_clipboard_set_text (GtkClipboard *clipboard, g_strndup (text, len)); gtk_clipboard_set_can_store (clipboard, NULL, 0); - for (i = 0; i < n_targets; i++) - g_free (targets[i].target); - g_free (targets); + gtk_target_table_free (targets, n_targets); gtk_target_list_unref (list); } @@ -794,9 +785,8 @@ gtk_clipboard_set_image (GtkClipboard *clipboard, GdkPixbuf *pixbuf) { GtkTargetList *list; - GList *l; GtkTargetEntry *targets; - gint n_targets, i; + gint n_targets; g_return_if_fail (clipboard != NULL); g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); @@ -804,13 +794,7 @@ gtk_clipboard_set_image (GtkClipboard *clipboard, list = gtk_target_list_new (NULL, 0); gtk_target_list_add_image_targets (list, 0, TRUE); - n_targets = g_list_length (list->list); - targets = g_new0 (GtkTargetEntry, n_targets); - for (l = list->list, i = 0; l; l = l->next, i++) - { - GtkTargetPair *pair = (GtkTargetPair *)l->data; - targets[i].target = gdk_atom_name (pair->target); - } + targets = gtk_target_table_new_from_list (list, &n_targets); gtk_clipboard_set_with_data (clipboard, targets, n_targets, @@ -818,9 +802,7 @@ gtk_clipboard_set_image (GtkClipboard *clipboard, g_object_ref (pixbuf)); gtk_clipboard_set_can_store (clipboard, NULL, 0); - for (i = 0; i < n_targets; i++) - g_free (targets[i].target); - g_free (targets); + gtk_target_table_free (targets, n_targets); gtk_target_list_unref (list); } |