Fix partial interface reimplementation when the base class is in an
authorJürg Billeter <j@bitron.ch>
Tue, 8 Jul 2008 09:25:11 +0000 (09:25 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Tue, 8 Jul 2008 09:25:11 +0000 (09:25 +0000)
2008-07-08  Jürg Billeter  <j@bitron.ch>

* gobject/valaccodeclassbinding.vala:

Fix partial interface reimplementation when the base class is in
an external library

svn path=/trunk/; revision=1686

ChangeLog
gobject/valaccodeclassbinding.vala

index e1de7ec..c5d71bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-07-08  Jürg Billeter  <j@bitron.ch>
+
+       * gobject/valaccodeclassbinding.vala:
+
+       Fix partial interface reimplementation when the base class is in
+       an external library
+
 2008-07-08  Raffaele Sandrini  <raffaele@sandrini.ch>
 
        * vapi/glib-2.0.vapi:
index 7fb82f5..04284c5 100644 (file)
@@ -539,11 +539,11 @@ public class Vala.CCodeClassBinding : CCodeObjectTypeSymbolBinding {
                        if (m.is_abstract) {
                                Method cl_method = null;
                                var base_class = cl;
-                               while (cl_method == null) {
+                               while (base_class != null && cl_method == null) {
                                        cl_method = base_class.scope.lookup (m.name) as Method;
                                        base_class = base_class.base_class;
                                }
-                               if (cl_method.parent_symbol != cl) {
+                               if (base_class != null && cl_method.parent_symbol != cl) {
                                        // method inherited from base class
                                        
                                        var ciface = new CCodeIdentifier ("iface");