diff options
author | André Auzi <aauzi@free.fr> | 2014-02-26 22:22:00 +0100 |
---|---|---|
committer | André Auzi <aauzi@free.fr> | 2014-02-26 22:22:00 +0100 |
commit | 66a8b1bea6075df49adf4a1616c87f37d27098fd (patch) | |
tree | 9208ccd15b8ec738691b61c1c8c16b2718d90682 /katze/katze-arrayaction.c | |
parent | c1c5037b64fee65edbb6a983df7a008c47b4d65c (diff) | |
download | midori-66a8b1bea6075df49adf4a1616c87f37d27098fd.tar.gz |
properly commit bookmarks-db signleton to the application
Diffstat (limited to 'katze/katze-arrayaction.c')
-rw-r--r-- | katze/katze-arrayaction.c | 10 |
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)); } |