From: Juerg Billeter Date: Sun, 18 May 2008 18:36:36 +0000 (+0000) Subject: Use g_free as default free function for nullable value types X-Git-Tag: VALA_0_3_3~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=601ff77ab671d4b79c8205f2c9339450de92102c;p=thirdparty%2Fvala.git Use g_free as default free function for nullable value types 2008-05-18 Juerg Billeter * gobject/valaccodegenerator.vala: Use g_free as default free function for nullable value types svn path=/trunk/; revision=1400 --- diff --git a/ChangeLog b/ChangeLog index 01498eb87..2688505ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-05-18 Jürg Billeter + + * gobject/valaccodegenerator.vala: + + Use g_free as default free function for nullable value types + 2008-05-18 Jürg Billeter * vala/valadatatype.vala: diff --git a/gobject/valaccodegenerator.vala b/gobject/valaccodegenerator.vala index dae072e0f..70f1ca9dd 100644 --- a/gobject/valaccodegenerator.vala +++ b/gobject/valaccodegenerator.vala @@ -1306,10 +1306,19 @@ public class Vala.CCodeGenerator : CodeGenerator { } } else if (type.data_type != null) { string unref_function; - if (type.data_type.is_reference_counting ()) { - unref_function = type.data_type.get_unref_function (); + if (type is ReferenceType) { + if (type.data_type.is_reference_counting ()) { + unref_function = type.data_type.get_unref_function (); + } else { + unref_function = type.data_type.get_free_function (); + } } else { - unref_function = type.data_type.get_free_function (); + if (type.nullable) { + unref_function = type.data_type.get_free_function (); + if (unref_function == null) { + unref_function = "g_free"; + } + } } if (unref_function == null) { return new CCodeConstant ("NULL");