diff options
author | Federico Mena Quintero <federico@ximian.com> | 2004-03-01 18:24:06 +0000 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2004-03-01 18:24:06 +0000 |
commit | 0775cd28a3d666252bd3633797363e50cfa58908 (patch) | |
tree | e56ff18ba51c5dec48e13e2d0deacb5f49250061 /gtk/gtkfilechooserdefault.c | |
parent | fa4514afc6e0f3e54339cd409947fc63d4f81848 (diff) | |
download | gtk+-0775cd28a3d666252bd3633797363e50cfa58908.tar.gz |
Test for filter_info.uri correctly. Fixes #135379, pointed out by Damon
2004-03-01 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (list_model_filter_func): Test for
filter_info.uri correctly. Fixes #135379, pointed out by Damon
Chaplin.
(shortcuts_get_index): Compute the bookmarks index correctly.
Fixes #135714, pointed out by Damon Chaplin.
(gtk_file_chooser_default_list_shortcut_folders): Handle the case
with no shortcuts, and don't run off the end of the list if there
are no bookmarks and their separator. Fixes #135572, patch by
Damon Chaplin.
Diffstat (limited to 'gtk/gtkfilechooserdefault.c')
-rw-r--r-- | gtk/gtkfilechooserdefault.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 50f2d964e7..0277dcee9b 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -884,7 +884,7 @@ shortcuts_get_index (GtkFileChooserDefault *impl, goto out; /* If there are no bookmarks there won't be a separator */ - n += impl->num_shortcuts > 0 ? 1 : 0; + n += (impl->num_bookmarks > 0) ? 1 : 0; if (where == SHORTCUTS_BOOKMARKS) goto out; @@ -2418,7 +2418,7 @@ list_model_filter_func (GtkFileSystemModel *model, if (needed & GTK_FILE_FILTER_URI) { filter_info.uri = gtk_file_system_path_to_uri (impl->file_system, path); - if (filter_info.filename) + if (filter_info.uri) filter_info.contains |= GTK_FILE_FILTER_URI; } else @@ -3076,6 +3076,9 @@ gtk_file_chooser_default_list_shortcut_folders (GtkFileChooser *chooser) int i; GSList *list; + if (impl->num_shortcuts == 0) + return NULL; + pos = shortcuts_get_pos_for_shortcut_folder (impl, 0); if (!gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (impl->shortcuts_model), &iter, NULL, pos)) g_assert_not_reached (); @@ -3091,8 +3094,11 @@ gtk_file_chooser_default_list_shortcut_folders (GtkFileChooser *chooser) list = g_slist_prepend (list, gtk_file_path_copy (shortcut)); - if (!gtk_tree_model_iter_next (GTK_TREE_MODEL (impl->shortcuts_model), &iter)) - g_assert_not_reached (); + if (i != impl->num_shortcuts - 1) + { + if (!gtk_tree_model_iter_next (GTK_TREE_MODEL (impl->shortcuts_model), &iter)) + g_assert_not_reached (); + } } return g_slist_reverse (list); |