]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
glib-2.0: Drop type_id from GLib.Error, let it be handled internally
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 20 Jul 2020 08:37:53 +0000 (10:37 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 20 Jul 2020 08:38:03 +0000 (10:38 +0200)
Regression of 4db1b33e7a8424e12abc85342111e75bd07c7aa9

Fixes https://gitlab.gnome.org/GNOME/vala/issues/1039

tests/Makefile.am
tests/objects/signals-error-marshal.vala [new file with mode: 0644]
vapi/glib-2.0.vapi

index c3fb9cfdc17ed01dc08c7ed96a7431aec2cb1184..48f163e86ec5112f7c742407c97882518980f4b0 100644 (file)
@@ -436,6 +436,7 @@ TESTS = \
        objects/signals-delegate.vala \
        objects/signals-delegate-parameter.vala \
        objects/signals-dymanic-invalid-handler.test \
+       objects/signals-error-marshal.vala \
        objects/signals-fundamental-return.vala \
        objects/signals-gobject-return.vala \
        objects/signals-lambda-delegate.vala \
diff --git a/tests/objects/signals-error-marshal.vala b/tests/objects/signals-error-marshal.vala
new file mode 100644 (file)
index 0000000..b727777
--- /dev/null
@@ -0,0 +1,26 @@
+errordomain FooError {
+       BAD;
+}
+
+struct Bar {
+       public int i;
+}
+
+class Foo : GLib.Object {
+       signal void foo (void* p, Bar bar);
+       signal void bar (void* p, Error e);
+
+       public Foo () {
+               bar.connect (callback);
+               bar (null, new FooError.BAD ("bad"));
+       }
+
+       void callback (void* p, Error e) {
+               assert (p == null);
+               assert (e.code == FooError.BAD);
+       }
+}
+
+void main() {
+       var foo = new Foo ();
+}
index 45dbc09237479a7266c35d43e8041e57b4b65fa5..38d1872d906395f80e8e5ccd3003abb2c4fc4126 100644 (file)
@@ -2590,7 +2590,7 @@ namespace GLib {
 
        [Compact]
        [ErrorBase]
-       [CCode (copy_function = "g_error_copy", free_function = "g_error_free", type_id = "G_TYPE_ERROR")]
+       [CCode (copy_function = "g_error_copy", free_function = "g_error_free")]
        public class Error {
                [PrintfFormat]
                public Error (Quark domain, int code, string format, ...);