add new method GimpConfigInterface::copy() which by default calls

2008-02-01  Michael Natterer  <mitch@gimp.org>

	* libgimpconfig/gimpconfig-iface.[ch]: add new method
	GimpConfigInterface::copy() which by default calls
	gimp_config_sync() but is overridable for objects which are not
	entirely property-defined or otherwise evil.

	Freeze/thaw property notifications in deserialize() and reset().

	* libgimpconfig/gimpconfig-utils.c (gimp_config_sync): freeze/thaw
	property notifications on the dest object.


svn path=/trunk/; revision=24767
This commit is contained in:
Michael Natterer 2008-02-01 11:44:45 +00:00 committed by Michael Natterer
parent 44cf4587a7
commit 69d2abcb29
4 changed files with 87 additions and 4 deletions

View file

@ -216,6 +216,8 @@ gimp_config_sync (GObject *src,
if (!diff)
return FALSE;
g_object_freeze_notify (G_OBJECT (dest));
for (list = diff; list; list = list->next)
{
GParamSpec *prop_spec = list->data;
@ -233,6 +235,8 @@ gimp_config_sync (GObject *src,
}
}
g_object_thaw_notify (G_OBJECT (dest));
g_list_free (diff);
return TRUE;
@ -306,9 +310,9 @@ gimp_config_reset_properties (GObject *object)
}
}
g_free (property_specs);
g_object_thaw_notify (object);
g_free (property_specs);
}