summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendgoogle.c
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2018-08-01 13:44:59 +0200
committerOndrej Holy <oholy@redhat.com>2018-09-21 11:30:17 +0000
commit2714228c41150d4746174f97ae849ccc949240e0 (patch)
treef50502ea72ae3b41f96edb275be7347dddcc04df /daemon/gvfsbackendgoogle.c
parenta23901a8157ef420ef68af05d65d4df3f856d92e (diff)
downloadgvfs-2714228c41150d4746174f97ae849ccc949240e0.tar.gz
google: Remove also dir_collisions entries
dir_collisions are not properly invalidated if removed entry is on this list. Let's remove the entry also from this list.
Diffstat (limited to 'daemon/gvfsbackendgoogle.c')
-rw-r--r--daemon/gvfsbackendgoogle.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon/gvfsbackendgoogle.c b/daemon/gvfsbackendgoogle.c
index 80fbca99..47fc671f 100644
--- a/daemon/gvfsbackendgoogle.c
+++ b/daemon/gvfsbackendgoogle.c
@@ -519,6 +519,13 @@ remove_entry (GVfsBackendGoogle *self,
g_hash_table_remove (self->dir_entries, k);
dir_entries_key_free (k);
+ l = g_list_find (self->dir_collisions, entry);
+ if (l != NULL)
+ {
+ self->dir_collisions = g_list_remove_link (self->dir_collisions, l);
+ g_object_unref (entry);
+ }
+
for (l = self->dir_collisions; l != NULL; l = l->next)
{
GDataEntry *colliding_entry = GDATA_ENTRY (l->data);