summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nautilus-tag-manager.c20
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