]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Fix memory leak when chaining up in fundamental classes
authorJürg Billeter <j@bitron.ch>
Sun, 11 Nov 2012 19:12:45 +0000 (20:12 +0100)
committerJürg Billeter <j@bitron.ch>
Sun, 11 Nov 2012 19:12:45 +0000 (20:12 +0100)
Fixes bug 684776.

codegen/valaccodemethodmodule.vala

index 12298b3a5796053f14acb9cd1d856fd1a90058ca..42faab54997d7613a0f9a95e3ca1be4a987e01bb 100644 (file)
@@ -606,7 +606,7 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule {
                                                var cl = (Class) m.parent_symbol;
                                                ccode.add_declaration (get_ccode_name (cl) + "*", new CCodeVariableDeclarator.zero ("self", new CCodeConstant ("NULL")));
 
-                                               if (cl.is_fundamental ()) {
+                                               if (cl.is_fundamental () && !((CreationMethod) m).chain_up) {
                                                        var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_type_create_instance"));
                                                        ccall.add_argument (get_variable_cexpression ("object_type"));
                                                        ccode.add_assignment (get_this_cexpression (), new CCodeCastExpression (ccall, get_ccode_name (cl) + "*"));