diff options
Diffstat (limited to 'src/nautilus-tag-manager.c')
-rw-r--r-- | src/nautilus-tag-manager.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/nautilus-tag-manager.c b/src/nautilus-tag-manager.c index 5486c5cb7..2362640fe 100644 --- a/src/nautilus-tag-manager.c +++ b/src/nautilus-tag-manager.c @@ -224,7 +224,25 @@ get_query_status (TrackerSparqlCursor *cursor, GList * nautilus_tag_manager_get_starred_files (NautilusTagManager *self) { - return g_hash_table_get_keys (self->starred_file_uris); + GList *starred_file_uris; + + starred_file_uris = g_hash_table_get_keys (self->starred_file_uris); + + /* Filter out files ouside $HOME, because we don't support starring these + * yet. See comment on nautilus_tag_manager_can_star_contents() */ + for (GList *l = starred_file_uris; l != NULL; l = l->next) + { + g_autoptr (GFile) file = g_file_new_for_uri (l->data); + + if (!g_file_has_prefix (file, self->home)) + { + GList *skip = l; + l = l->prev; + starred_file_uris = g_list_delete_link (starred_file_uris, skip); + } + } + + return starred_file_uris; } static void |