summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJosé Alburquerque <jaalburquerque@gmail.com>2013-05-14 16:22:17 -0400
committerJosé Alburquerque <jaalburquerque@gmail.com>2013-05-14 16:23:26 -0400
commit1826a955cc607527ebb47eecf701aa5e28fdc1ef (patch)
treead8eecb4f42d16ba99bf4a8a2a2164963ea6c8d4 /ChangeLog
parenta5edc6add97ff030f89d2bd2e39d8ec5b453ffb0 (diff)
downloadglibmm-1826a955cc607527ebb47eecf701aa5e28fdc1ef.tar.gz
Custom Interface Properties: Use base finalize function to free data.
* glib/glibmm/class.cc (Class::clone_custom_type): Specify a custom base finalize function for the custom type which would free the properties data that might exist due to properties of implemented interfaces being overridden. This is better than having an interface finalize function because the custom type could implement several interfaces which would mean that the interface finalize function would execute more than once as opposed to just once for the base finalize function. * glib/glibmm/class.h (Class::interface_finalize_function): Replace with Class::custom_class_base_finalize_function(). * glib/glibmm/interface.cc (Interface_Class::add_interface): Do not specify a custom interface finalize function. (Interface::Interface(const Interface_Class&): Also initialize the property GValues using g_param_value_set_default() so that they are initialized with the default values of the properties and not just the default value of the GValue type. Bug #697229.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog25
1 files changed, 25 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index bb6e5712..508ec672 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2013-05-14 José Alburquerque <jaalburquerque@gmail.com>
+
+ Custom Interface Properties: Use base finalize function to free data.
+
+ * glib/glibmm/class.cc (Class::clone_custom_type): Specify a custom
+ base finalize function for the custom type which would free the
+ properties data that might exist due to properties of implemented
+ interfaces being overridden. This is better than having an interface
+ finalize function because the custom type could implement several
+ interfaces which would mean that the interface finalize function would
+ execute more than once as opposed to just once for the base finalize
+ function.
+ * glib/glibmm/class.h (Class::interface_finalize_function): Replace
+ with Class::custom_class_base_finalize_function().
+
+ * glib/glibmm/interface.cc (Interface_Class::add_interface): Do not
+ specify a custom interface finalize function.
+
+ (Interface::Interface(const Interface_Class&): Also initialize the
+ property GValues using g_param_value_set_default() so that they are
+ initialized with the default values of the properties and not just the
+ default value of the GValue type.
+
+ Bug #697229.
+
2013-05-07 José Alburquerque <jaalburquerque@gmail.com>
UnixSocketAddress: Add the "path-as-array" property.