summaryrefslogtreecommitdiff
path: root/gtk/gtkfilechooserdefault.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkfilechooserdefault.c')
-rw-r--r--gtk/gtkfilechooserdefault.c14
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);