]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix comparing nullable struct values with null, fixes bug 548672
authorJürg Billeter <j@bitron.ch>
Mon, 15 Dec 2008 08:36:59 +0000 (08:36 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 15 Dec 2008 08:36:59 +0000 (08:36 +0000)
2008-12-15  Jürg Billeter  <j@bitron.ch>

* gobject/valaccodebasemodule.vala:

Fix comparing nullable struct values with null, fixes bug 548672

svn path=/trunk/; revision=2153

ChangeLog
gobject/valaccodebasemodule.vala

index 8933bead2b855659eff5370e098b9c3fa9b91183..c787ff38246ffb874c35540fbfaaf70ccea75798 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-15  Jürg Billeter  <j@bitron.ch>
+
+       * gobject/valaccodebasemodule.vala:
+
+       Fix comparing nullable struct values with null, fixes bug 548672
+
 2008-12-15  Jürg Billeter  <j@bitron.ch>
 
        * gobject/valaccodemethodmodule.vala:
index ddf3c3a043f7ed8d73711b461e2e3152cc5a621c..313386f4ca2f665fb3c16825d6c6fb0d49046d8d 100644 (file)
@@ -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);
                        }
                }