diff options
Diffstat (limited to 'codegen')
-rw-r--r-- | codegen/valaccodebasemodule.vala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 8df6b9c13..b36fe7b4e 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -5477,7 +5477,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { while (inner_expr is CastExpression) { inner_expr = ((CastExpression) inner_expr).inner; } - if (!(inner_expr.symbol_reference is Variable || inner_expr is ElementAccess)) { + if (inner_expr.value_type.value_owned + && !(inner_expr.symbol_reference is Variable || inner_expr is ElementAccess)) { // heap allocated struct leaked, destroy it var value = new GLibValue (new PointerType (new VoidType ()), innercexpr); temp_ref_values.insert (0, value); |