summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2018-05-30 12:50:30 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2018-05-31 13:14:28 +0200
commitc654b73a43f43506905be501200e4c3c07f77b91 (patch)
tree8a676f636fe14b37d672d0827181b6f6e9732328
parentc4c1b7bea2e6bd3d9b52c7603cad4a4067b8a93f (diff)
downloadvala-c654b73a43f43506905be501200e4c3c07f77b91.tar.gz
gio-2.0: Apply delegate_target = false on ActionEntry callbacks and make them weak
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
-rw-r--r--vapi/gio-2.0.vapi18
-rw-r--r--vapi/metadata/Gio-2.0-custom.vala18
2 files changed, 8 insertions, 28 deletions
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index b430da7cc..8b738b51b 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -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")]
diff --git a/vapi/metadata/Gio-2.0-custom.vala b/vapi/metadata/Gio-2.0-custom.vala
index 1e9d25dba..ed5cc3d00 100644
--- a/vapi/metadata/Gio-2.0-custom.vala
+++ b/vapi/metadata/Gio-2.0-custom.vala
@@ -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);