From: Jürg Billeter Date: Mon, 15 Dec 2008 08:36:59 +0000 (+0000) Subject: Fix comparing nullable struct values with null, fixes bug 548672 X-Git-Tag: VALA_0_5_3~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=282af2a46fd1d99af79767c21ae5cdbd5781b476;p=thirdparty%2Fvala.git Fix comparing nullable struct values with null, fixes bug 548672 2008-12-15 Jürg Billeter * gobject/valaccodebasemodule.vala: Fix comparing nullable struct values with null, fixes bug 548672 svn path=/trunk/; revision=2153 --- diff --git a/ChangeLog b/ChangeLog index 8933bead2..c787ff382 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-12-15 Jürg Billeter + + * gobject/valaccodebasemodule.vala: + + Fix comparing nullable struct values with null, fixes bug 548672 + 2008-12-15 Jürg Billeter * gobject/valaccodemethodmodule.vala: diff --git a/gobject/valaccodebasemodule.vala b/gobject/valaccodebasemodule.vala index ddf3c3a04..313386f4c 100644 --- a/gobject/valaccodebasemodule.vala +++ b/gobject/valaccodebasemodule.vala @@ -2987,9 +2987,11 @@ public class Vala.CCodeBaseModule : CCodeModule { cright = new InstanceCast (cright, left_cl); } } - } else if (left_type_as_struct != null && expr.right.value_type is NullType) { + } else if (left_type_as_struct != null && !expr.left.value_type.nullable + && expr.right.value_type is NullType) { cleft = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, cleft); - } else if (right_type_as_struct != null && expr.left.value_type is NullType) { + } else if (right_type_as_struct != null && !expr.right.value_type.nullable + && expr.left.value_type is NullType) { cright = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, cright); } }