summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bookmarks.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bookmarks.c b/src/bookmarks.c
index 2efdc873..1fc24a67 100644
--- a/src/bookmarks.c
+++ b/src/bookmarks.c
@@ -214,6 +214,17 @@ iBool remove_Bookmarks(iBookmarks *d, uint32_t id) {
214 lock_Mutex(d->mtx); 214 lock_Mutex(d->mtx);
215 iBookmark *bm = (iBookmark *) remove_Hash(&d->bookmarks, id); 215 iBookmark *bm = (iBookmark *) remove_Hash(&d->bookmarks, id);
216 if (bm) { 216 if (bm) {
217 /* If this is a remote source, make sure all the remote bookmarks are
218 removed as well. */
219 if (hasTag_Bookmark(bm, "remotesource")) {
220 iForEach(Hash, i, &d->bookmarks) {
221 iBookmark *j = (iBookmark *) i.value;
222 if (j->sourceId == id_Bookmark(bm)) {
223 remove_HashIterator(&i);
224 delete_Bookmark(j);
225 }
226 }
227 }
217 delete_Bookmark(bm); 228 delete_Bookmark(bm);
218 } 229 }
219 unlock_Mutex(d->mtx); 230 unlock_Mutex(d->mtx);