]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
fix critical when using normal member access on pointers
authorJuerg Billeter <j@bitron.ch>
Sun, 27 Jan 2008 16:21:47 +0000 (16:21 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sun, 27 Jan 2008 16:21:47 +0000 (16:21 +0000)
2008-01-27  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: fix critical when using normal member
  access on pointers

svn path=/trunk/; revision=916

ChangeLog
vala/valasemanticanalyzer.vala

index 4843d219993cbb476fa001dc0243f53e8ffe162c..9c5188c61a517110cc9b4da86c35243378f7b8f7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-27  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valasemanticanalyzer.vala: fix critical when using normal member
+         access on pointers
+
 2008-01-27  Jürg Billeter  <j@bitron.ch>
 
        * vapi/glib-2.0.vapi: fix GValue binding
index 2ae3ed9f9c79fc5121d1da0638d032312550b755..2e9e539f5cd21968685d949490586e6e5a37fc43 100644 (file)
@@ -1403,11 +1403,9 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                        if (expr.symbol_reference == null && expr.inner.static_type != null) {
                                if (expr.pointer_member_access) {
                                        expr.symbol_reference = expr.inner.static_type.get_pointer_member (expr.member_name);
-                               } else {
+                               } else if (expr.inner.static_type.data_type != null) {
                                        base_symbol = expr.inner.static_type.data_type;
-                                       if (base_symbol != null) {
-                                               expr.symbol_reference = symbol_lookup_inherited (base_symbol, expr.member_name);
-                                       }
+                                       expr.symbol_reference = symbol_lookup_inherited (base_symbol, expr.member_name);
                                }
                                if (expr.symbol_reference != null) {
                                        // inner expression is variable, field, or parameter