summaryrefslogtreecommitdiff
path: root/katze/katze-arrayaction.c
diff options
context:
space:
mode:
authorAndré Auzi <aauzi@free.fr>2014-02-26 22:22:00 +0100
committerAndré Auzi <aauzi@free.fr>2014-02-26 22:22:00 +0100
commit66a8b1bea6075df49adf4a1616c87f37d27098fd (patch)
tree9208ccd15b8ec738691b61c1c8c16b2718d90682 /katze/katze-arrayaction.c
parentc1c5037b64fee65edbb6a983df7a008c47b4d65c (diff)
downloadmidori-66a8b1bea6075df49adf4a1616c87f37d27098fd.tar.gz
properly commit bookmarks-db signleton to the application
Diffstat (limited to 'katze/katze-arrayaction.c')
-rw-r--r--katze/katze-arrayaction.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/katze/katze-arrayaction.c b/katze/katze-arrayaction.c
index 9936134c..dc8a9026 100644
--- a/katze/katze-arrayaction.c
+++ b/katze/katze-arrayaction.c
@@ -767,12 +767,14 @@ katze_array_action_set_array (KatzeArrayAction* array_action,
KatzeArray* array)
{
GSList* proxies;
+ KatzeArray *old_array = NULL;
g_return_if_fail (KATZE_IS_ARRAY_ACTION (array_action));
g_return_if_fail (!array || katze_array_is_a (array, KATZE_TYPE_ITEM));
/* FIXME: Disconnect old array */
+ old_array = array_action->array;
if (array)
g_object_ref (array);
katze_object_assign (array_action->array, array);
@@ -793,7 +795,15 @@ katze_array_action_set_array (KatzeArrayAction* array_action,
do
{
+ KatzeArray* item = g_object_get_data (G_OBJECT (proxies->data), "KatzeItem");
+
+ if (item && (item == old_array))
+ g_object_set_data (G_OBJECT (proxies->data), "KatzeItem", array);
+
gtk_widget_set_sensitive (proxies->data, array != NULL);
}
while ((proxies = g_slist_next (proxies)));
+
+ if (array)
+ katze_array_update (KATZE_ARRAY (array));
}