[gnome-photos/wip/favorites: 4/12] base-manager: Do not replace existing objects for a particular ID
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/favorites: 4/12] base-manager: Do not replace existing objects for a particular ID
- Date: Wed, 12 Dec 2012 18:25:16 +0000 (UTC)
commit 42edd3bdf25d95bb402a36cf8a571be9889f129e
Author: Debarshi Ray <debarshir gnome org>
Date: Tue Dec 11 23:27:54 2012 +0530
base-manager: Do not replace existing objects for a particular ID
This will let us re-use the PhotosItemManager for the Favorites mode,
where we will look for items marked as favorite. Otherwise we would
end up emitting an extra "object-added" for an object that belongs to
both modes.
src/photos-base-manager.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/src/photos-base-manager.c b/src/photos-base-manager.c
index 6ff7049..768c05b 100644
--- a/src/photos-base-manager.c
+++ b/src/photos-base-manager.c
@@ -203,9 +203,16 @@ photos_base_manager_class_init (PhotosBaseManagerClass *class)
void
photos_base_manager_add_object (PhotosBaseManager *self, GObject *object)
{
+ GObject *old_object;
gchar *id;
g_object_get (object, "id", &id, NULL);
+ old_object = photos_base_manager_get_object_by_id (self, id);
+ if (old_object != NULL)
+ {
+ g_free (id);
+ return;
+ }
g_hash_table_insert (self->priv->objects, (gpointer) id, g_object_ref (object));
g_signal_emit (self, signals[OBJECT_ADDED], 0, object);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]