[gnome-photos] item-manager: Assert an invariant
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] item-manager: Assert an invariant
- Date: Mon, 5 Sep 2016 21:10:34 +0000 (UTC)
commit 1908e529812e946b7b6d5e6fd534814f76e1392a
Author: Debarshi Ray <debarshir gnome org>
Date: Mon Sep 5 22:36:35 2016 +0200
item-manager: Assert an invariant
This had to be adjusted due to the changes in the previous commit.
https://bugzilla.gnome.org/show_bug.cgi?id=770342
src/photos-item-manager.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
---
diff --git a/src/photos-item-manager.c b/src/photos-item-manager.c
index 5286c48..fd094de 100644
--- a/src/photos-item-manager.c
+++ b/src/photos-item-manager.c
@@ -835,6 +835,7 @@ photos_item_manager_clear (PhotosItemManager *self, PhotosWindowMode mode)
{
GHashTable *items;
GHashTableIter iter;
+ PhotosBaseItem *item;
PhotosBaseManager *item_mngr_chld;
const gchar *id;
@@ -847,9 +848,9 @@ photos_item_manager_clear (PhotosItemManager *self, PhotosWindowMode mode)
items = photos_base_manager_get_objects (item_mngr_chld);
g_hash_table_iter_init (&iter, items);
- while (g_hash_table_iter_next (&iter, (gpointer *) &id, NULL))
+ while (g_hash_table_iter_next (&iter, (gpointer *) &id, (gpointer *) &item))
{
- PhotosBaseItem *item = NULL;
+ PhotosBaseItem *item1 = NULL;
guint i;
for (i = 1; self->item_mngr_chldrn[i] != NULL; i++)
@@ -857,13 +858,18 @@ photos_item_manager_clear (PhotosItemManager *self, PhotosWindowMode mode)
if (item_mngr_chld == self->item_mngr_chldrn[i])
continue;
- item = PHOTOS_BASE_ITEM (photos_base_manager_get_object_by_id (self->item_mngr_chldrn[i], id));
- if (item != NULL)
+ item1 = PHOTOS_BASE_ITEM (photos_base_manager_get_object_by_id (self->item_mngr_chldrn[i], id));
+ if (item1 != NULL)
break;
}
- if (item == NULL)
- photos_base_manager_remove_object_by_id (self->item_mngr_chldrn[0], id);
+ if (item1 == NULL)
+ {
+ item1 = PHOTOS_BASE_ITEM (photos_base_manager_get_object_by_id (self->item_mngr_chldrn[0], id));
+ g_assert_true (item == item1);
+
+ photos_base_manager_remove_object_by_id (self->item_mngr_chldrn[0], id);
+ }
}
photos_base_manager_clear (item_mngr_chld);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]