]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Report error when using construct blocks in non-GObject classes
authorJürg Billeter <j@bitron.ch>
Mon, 15 Dec 2008 23:09:34 +0000 (23:09 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 15 Dec 2008 23:09:34 +0000 (23:09 +0000)
2008-12-16  Jürg Billeter  <j@bitron.ch>

* gobject/valagobjectmodule.vala:

Report error when using construct blocks in non-GObject classes

svn path=/trunk/; revision=2169

ChangeLog
gobject/valagobjectmodule.vala

index 63d564db55f66699a6ab1aaa8426fe32eca557ea..326b6003381a51547dbb0d8160560baa557a58dd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-16  Jürg Billeter  <j@bitron.ch>
+
+       * gobject/valagobjectmodule.vala:
+
+       Report error when using construct blocks in non-GObject classes
+
 2008-12-15  Jürg Billeter  <j@bitron.ch>
 
        * vapi/packages/gtk+-2.0/:
index d636dcb16aa88eedbbe234f2a0cbba60dd8c9245..8b8432b5f821968a7f047ecaa29497d20afa986a 100644 (file)
@@ -1523,6 +1523,12 @@ public class Vala.GObjectModule : GTypeModule {
                var cl = (Class) c.parent_symbol;
 
                if (c.binding == MemberBinding.INSTANCE) {
+                       if (!cl.is_subtype_of (gobject_type)) {
+                               Report.error (c.source_reference, "construct blocks require GLib.Object");
+                               c.error = true;
+                               return;
+                       }
+
                        function = new CCodeFunction ("%s_constructor".printf (cl.get_lower_case_cname (null)), "GObject *");
                        function.modifiers = CCodeModifiers.STATIC;