From 21def177092c36c53169277d8b2a6993323af4fd Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Thu, 27 Mar 2003 11:36:01 +0000 Subject: [PATCH] allow object properties to be set again if they are G_PARAM_WRITABLE. 2003-03-27 Michael Natterer * app/config/gimpconfig-deserialize.c (gimp_config_deserialize_property): allow object properties to be set again if they are G_PARAM_WRITABLE. Fixes active brush, pattern etc. deserialization. --- ChangeLog | 7 +++++++ app/config/gimpconfig-deserialize.c | 7 ++++--- libgimpconfig/gimpconfig-deserialize.c | 7 ++++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index d7ff7048cb..edeb5428e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-03-27 Michael Natterer + + * app/config/gimpconfig-deserialize.c + (gimp_config_deserialize_property): allow object properties to be + set again if they are G_PARAM_WRITABLE. Fixes active brush, + pattern etc. deserialization. + 2003-03-27 Christian Rose * configure.in: Added "yi" to ALL_LINGUAS again. Po files for diff --git a/app/config/gimpconfig-deserialize.c b/app/config/gimpconfig-deserialize.c index 737a04cfca..dcfc665343 100644 --- a/app/config/gimpconfig-deserialize.c +++ b/app/config/gimpconfig-deserialize.c @@ -159,8 +159,8 @@ gimp_config_deserialize_properties (GObject *object, next = g_scanner_peek_next_token (scanner); if (next != token && - ! (store_unknown_tokens && - token == G_TOKEN_SYMBOL && next == G_TOKEN_IDENTIFIER)) + ! (store_unknown_tokens && + token == G_TOKEN_SYMBOL && next == G_TOKEN_IDENTIFIER)) { break; } @@ -301,7 +301,8 @@ gimp_config_deserialize_property (GObject *object, if (token == G_TOKEN_RIGHT_PAREN && g_scanner_peek_next_token (scanner) == token) { - if (!G_VALUE_HOLDS_OBJECT (&value)) + if (!G_VALUE_HOLDS_OBJECT (&value) || + prop_spec->flags & G_PARAM_WRITABLE) g_object_set_property (object, prop_spec->name, &value); } #if CONFIG_DEBUG diff --git a/libgimpconfig/gimpconfig-deserialize.c b/libgimpconfig/gimpconfig-deserialize.c index 737a04cfca..dcfc665343 100644 --- a/libgimpconfig/gimpconfig-deserialize.c +++ b/libgimpconfig/gimpconfig-deserialize.c @@ -159,8 +159,8 @@ gimp_config_deserialize_properties (GObject *object, next = g_scanner_peek_next_token (scanner); if (next != token && - ! (store_unknown_tokens && - token == G_TOKEN_SYMBOL && next == G_TOKEN_IDENTIFIER)) + ! (store_unknown_tokens && + token == G_TOKEN_SYMBOL && next == G_TOKEN_IDENTIFIER)) { break; } @@ -301,7 +301,8 @@ gimp_config_deserialize_property (GObject *object, if (token == G_TOKEN_RIGHT_PAREN && g_scanner_peek_next_token (scanner) == token) { - if (!G_VALUE_HOLDS_OBJECT (&value)) + if (!G_VALUE_HOLDS_OBJECT (&value) || + prop_spec->flags & G_PARAM_WRITABLE) g_object_set_property (object, prop_spec->name, &value); } #if CONFIG_DEBUG