+2008-10-15 Jürg Billeter <j@bitron.ch>
+
+ * gobject/valaccodememberaccessbinding.vala:
+
+ Fix memory leak when using GObject properties without accessors
+
2008-10-14 Thijs Vermeir <thijsvermeir@gmail.com>
* vapi/vte.vapi: regenerated (for has_construct_function attribute)
var ccast = new CCodeFunctionCall (new CCodeIdentifier ("G_OBJECT"));
ccast.add_argument (pub_inst);
ccall.add_argument (ccast);
-
+
// property name is second argument of g_object_get
ccall.add_argument (prop.get_canonical_cconstant ());
-
-
+
+ // g_object_get always returns owned values
+ var temp_type = expr.value_type.copy ();
+ temp_type.value_owned = true;
+
// we need a temporary variable to save the property value
var temp_var = codegen.get_temp_variable (expr.value_type);
codegen.temp_vars.insert (0, temp_var);
+ if (codegen.requires_destroy (temp_type)) {
+ codegen.temp_ref_vars.insert (0, temp_var);
+ }
+
var ctemp = new CCodeIdentifier (temp_var.name);
ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, ctemp));