diff --git a/ChangeLog b/ChangeLog index cef950f09..f8276b0b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Tue Sep 24 23:33:48 2002 Manish Singh + + * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach + when returning filenames for gtk_file_selection_get_selections + (#86567) + + * gtk/gtkclipboard.c: GtkClipboard struct should have a GObject + in it, not a GObjectClass + Tue Sep 24 18:18:36 2002 Owen Taylor * gtk/gtkclipboard.[ch]: Make a GObject (#75970, James diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index cef950f09..f8276b0b4 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +Tue Sep 24 23:33:48 2002 Manish Singh + + * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach + when returning filenames for gtk_file_selection_get_selections + (#86567) + + * gtk/gtkclipboard.c: GtkClipboard struct should have a GObject + in it, not a GObjectClass + Tue Sep 24 18:18:36 2002 Owen Taylor * gtk/gtkclipboard.[ch]: Make a GObject (#75970, James diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index cef950f09..f8276b0b4 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +Tue Sep 24 23:33:48 2002 Manish Singh + + * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach + when returning filenames for gtk_file_selection_get_selections + (#86567) + + * gtk/gtkclipboard.c: GtkClipboard struct should have a GObject + in it, not a GObjectClass + Tue Sep 24 18:18:36 2002 Owen Taylor * gtk/gtkclipboard.[ch]: Make a GObject (#75970, James diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index cef950f09..f8276b0b4 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +Tue Sep 24 23:33:48 2002 Manish Singh + + * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach + when returning filenames for gtk_file_selection_get_selections + (#86567) + + * gtk/gtkclipboard.c: GtkClipboard struct should have a GObject + in it, not a GObjectClass + Tue Sep 24 18:18:36 2002 Owen Taylor * gtk/gtkclipboard.[ch]: Make a GObject (#75970, James diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index cef950f09..f8276b0b4 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +Tue Sep 24 23:33:48 2002 Manish Singh + + * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach + when returning filenames for gtk_file_selection_get_selections + (#86567) + + * gtk/gtkclipboard.c: GtkClipboard struct should have a GObject + in it, not a GObjectClass + Tue Sep 24 18:18:36 2002 Owen Taylor * gtk/gtkclipboard.[ch]: Make a GObject (#75970, James diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index cef950f09..f8276b0b4 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +Tue Sep 24 23:33:48 2002 Manish Singh + + * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach + when returning filenames for gtk_file_selection_get_selections + (#86567) + + * gtk/gtkclipboard.c: GtkClipboard struct should have a GObject + in it, not a GObjectClass + Tue Sep 24 18:18:36 2002 Owen Taylor * gtk/gtkclipboard.[ch]: Make a GObject (#75970, James diff --git a/gtk/gtkclipboard.c b/gtk/gtkclipboard.c index 425805463..fb45ff249 100644 --- a/gtk/gtkclipboard.c +++ b/gtk/gtkclipboard.c @@ -41,7 +41,7 @@ typedef struct _RequestTextInfo RequestTextInfo; struct _GtkClipboard { - GObjectClass parent_instance; + GObject parent_instance; GdkAtom selection; diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c index f8be98bf6..a4e7a9191 100644 --- a/gtk/gtkfilesel.c +++ b/gtk/gtkfilesel.c @@ -2364,6 +2364,7 @@ gtk_file_selection_get_selections (GtkFileSelection *filesel) gchar *filename, *dirname; gchar *current, *buf; gint i, count; + gboolean unselected_entry; g_return_val_if_fail (GTK_IS_FILE_SELECTION (filesel), NULL); @@ -2383,7 +2384,7 @@ gtk_file_selection_get_selections (GtkFileSelection *filesel) selections = g_new (gchar *, 2); count = 0; - selections[count++] = filename; + unselected_entry = TRUE; if (names != NULL) { @@ -2396,15 +2397,20 @@ gtk_file_selection_get_selections (GtkFileSelection *filesel) current = g_build_filename (dirname, buf, NULL); g_free (buf); - if (compare_filenames (current, filename) != 0) - selections[count++] = current; - else - g_free (current); + selections[count++] = current; + + if (unselected_entry && compare_filenames (current, filename) == 0) + unselected_entry = FALSE; } g_free (dirname); } + if (unselected_entry) + selections[count++] = filename; + else + g_free (filename); + selections[count] = NULL; return selections;