]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
gio-2.0: Apply delegate_target = false on ActionEntry callbacks and make them weak
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 30 May 2018 10:50:30 +0000 (12:50 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 31 May 2018 11:14:28 +0000 (13:14 +0200)
They break struct ABI and the "require_copy/destroy" check in codegen
while being defined with target.

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

vapi/gio-2.0.vapi
vapi/metadata/Gio-2.0-custom.vala

index b430da7ccaf9db1a752b41eea8f5a2e2e387ff28..8b738b51b51dd656d29f205be617a0502e6454e9 100644 (file)
@@ -3839,16 +3839,12 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
        public struct ActionEntry {
                public weak string name;
-               [Version (deprecated = true, deprecated_since = "vala-0.26", replacement = "activate_callback")]
-               public GLib.SimpleActionActivateCallback? activate;
+               [CCode (delegate_target = false)]
+               public weak GLib.SimpleActionActivateCallback? activate;
                public weak string parameter_type;
                public weak string state;
-               [Version (deprecated_since = "vala-0.26", replacement = "change_state_callback")]
-               public GLib.SimpleActionChangeStateCallback? change_state;
-               [CCode (cname = "activate")]
-               public GLib.SimpleActionActivateFunc activate_callback;
-               [CCode (cname = "change_state")]
-               public GLib.SimpleActionChangeStateFunc? change_state_callback;
+               [CCode (delegate_target = false)]
+               public weak GLib.SimpleActionChangeStateCallback? change_state;
        }
        [CCode (cheader_filename = "gio/gio.h", has_type_id = false)]
        [Version (since = "2.26")]
@@ -4733,16 +4729,10 @@ namespace GLib {
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
        public delegate bool SettingsGetMapping (GLib.Variant value, out void* result);
        [CCode (cheader_filename = "gio/gio.h")]
-       [Version (deprecated_since = "vala-0.26", replacement = "SimplActionActivateFunc")]
        public delegate void SimpleActionActivateCallback (GLib.SimpleAction action, GLib.Variant? parameter);
-       [CCode (cheader_filename = "gio/gio.h", has_target = false)]
-       public delegate void SimpleActionActivateFunc (GLib.SimpleAction action, GLib.Variant? parameter, void* user_data);
        [CCode (cheader_filename = "gio/gio.h")]
-       [Version (deprecated_since = "vala-0.26", replacement = "SimplActionChangeStateFunc")]
        public delegate void SimpleActionChangeStateCallback (GLib.SimpleAction action, GLib.Variant value);
        [CCode (cheader_filename = "gio/gio.h", has_target = false)]
-       public delegate void SimpleActionChangeStateFunc (GLib.SimpleAction action, GLib.Variant value, void* user_data);
-       [CCode (cheader_filename = "gio/gio.h", has_target = false)]
        public delegate void SimpleAsyncThreadFunc (GLib.SimpleAsyncResult res, GLib.Object object, GLib.Cancellable? cancellable = null);
        [CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
        [Version (since = "2.22")]
index 1e9d25dba7981e47e4254a4854a1a38597265da9..ed5cc3d00533ac1f5090f788a11ddf301b4baf5e 100644 (file)
@@ -12,16 +12,12 @@ namespace GLib {
 
        public struct ActionEntry {
                public weak string name;
-               [Version (deprecated = true, deprecated_since = "vala-0.26", replacement = "activate_callback")]
-               public GLib.SimpleActionActivateCallback? activate;
+               [CCode (delegate_target = false)]
+               public weak GLib.SimpleActionActivateCallback? activate;
                public weak string parameter_type;
                public weak string state;
-               [Version (deprecated_since = "vala-0.26", replacement = "change_state_callback")]
-               public GLib.SimpleActionChangeStateCallback? change_state;
-               [CCode (cname = "activate")]
-               public GLib.SimpleActionActivateFunc activate_callback;
-               [CCode (cname = "change_state")]
-               public GLib.SimpleActionChangeStateFunc? change_state_callback;
+               [CCode (delegate_target = false)]
+               public weak GLib.SimpleActionChangeStateCallback? change_state;
        }
 
        [Compact]
@@ -180,13 +176,7 @@ namespace GLib {
                public virtual GLib.Icon? from_tokens (string[] tokens, int version) throws GLib.Error;
        }
 
-       [CCode (has_target = false)]
-       public delegate void SimpleActionActivateFunc (SimpleAction action, Variant? parameter, void* user_data);
-       [CCode (has_target = false)]
-       public delegate void SimpleActionChangeStateFunc (SimpleAction action, Variant value, void* user_data);
-       [Version (deprecated_since = "vala-0.26", replacement = "SimplActionActivateFunc")]
        public delegate void SimpleActionActivateCallback (SimpleAction action, Variant? parameter);
-       [Version (deprecated_since = "vala-0.26", replacement = "SimplActionChangeStateFunc")]
        public delegate void SimpleActionChangeStateCallback (SimpleAction action, Variant value);
        [CCode (cheader_filename = "gio/gio.h", cname = "GAsyncReadyCallback", instance_pos = 2.9)]
        public delegate void TaskReadyCallback (GLib.Object? source_object, GLib.Task task);