gobject-introspection 4.0.0 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54062f046bb51a2e07d28faa23e18411b178410186c51ef6d5f233e4a9192af8
4
- data.tar.gz: 83e81475c6625c0765a309bfaac9cde57e156a6916bdee19a29eb3b52eaeb0e0
3
+ metadata.gz: 8022e622d198838f9adae24c76abf4d0ff9add43e98a23b1d71b0239eb5c63f1
4
+ data.tar.gz: faf42ad29ca80ee31e82398e6f82badd2bbea63d82f50411883e7058f52e7adf
5
5
  SHA512:
6
- metadata.gz: fb439ff8c2eb5aead6a768ea4b68b65d9c7f6fa36c7fdc027ec3b184578eeb5471e81c45e752922cfdd1a2ecd4a752ffe111c0af89d96e1105e5a385f775550f
7
- data.tar.gz: b285185c0bedfc226e8cefd3c31b929254dc33addf84756f5d83d9e01b3bb1a2c15da3d5600531159ab2e2dd1c27988e9146816fb30c12911c3cfa512b5e2ea1
6
+ metadata.gz: 5fb1a3eb51518856fe39631a485bffcfd72ba95d323d66646bbed280e47e0126bffafcbca4aee2c6f79e35cd2bdc6c9bba938bf41c3c22ed78de3e649f807d6c
7
+ data.tar.gz: 5e1c3119edf742e6a0f53cf1c057f1b5cc89c1361834ba5918ba614d44b60f9399bff0803a826b03efe8d904651ad0ed0f1529c6e52131b29916e3020e6c8805
@@ -105,7 +105,7 @@ rb_gi_arguments_in_init_arg_ruby_callback(RBGIArguments *args,
105
105
  callback = rb_gi_callback_new(callback_info, NULL);
106
106
  g_base_info_unref(callback_info);
107
107
  g_base_info_unref(type_info);
108
- callback_argument->v_pointer = callback->closure;
108
+ callback_argument->v_pointer = callback->closure_native_address;
109
109
  }
110
110
 
111
111
  if (closure_argument) {
@@ -1205,7 +1205,6 @@ rb_gi_arguments_in_init_arg_ruby_interface(RBGIArguments *args,
1205
1205
  if (RVAL2CBOOL(rb_obj_is_kind_of(args->rb_receiver,
1206
1206
  rbg_cGLibObject()))) {
1207
1207
  g_rclosure_attach_gobject(rclosure, args->rb_receiver);
1208
- g_closure_unref(rclosure);
1209
1208
  } else {
1210
1209
  g_rclosure_attach(rclosure, args->rb_receiver);
1211
1210
  }
@@ -29,6 +29,9 @@
29
29
  (cif), \
30
30
  (callback), \
31
31
  (user_data))
32
+ # define g_callable_info_get_closure_native_address(callable_info, \
33
+ closure) \
34
+ (closure)
32
35
  # define g_callable_info_destroy_closure(callable_info, \
33
36
  closure) \
34
37
  g_callable_info_free_closure((callable_info), \
@@ -204,6 +207,9 @@ rb_gi_callback_new(GICallbackInfo *callback_info,
204
207
  &(callback->cif),
205
208
  rb_gi_ffi_closure_callback,
206
209
  callback);
210
+ callback->closure_native_address =
211
+ g_callable_info_get_closure_native_address(callback->callback_info,
212
+ callback->closure);
207
213
  return callback;
208
214
  }
209
215
 
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2012-2021 Ruby-GNOME Project Team
3
+ * Copyright (C) 2012-2022 Ruby-GNOME Project Team
4
4
  *
5
5
  * This library is free software; you can redistribute it and/or
6
6
  * modify it under the terms of the GNU Lesser General Public
@@ -183,7 +183,7 @@ rg_s_implement_virtual_function(G_GNUC_UNUSED VALUE klass,
183
183
  }
184
184
  offset = g_field_info_get_offset(field_info);
185
185
  method_address = G_STRUCT_MEMBER_P(vtable_struct, offset);
186
- *method_address = callback->closure;
186
+ *method_address = callback->closure_native_address;
187
187
  g_type_class_unref(implementor_struct);
188
188
  }
189
189
 
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2019-2021 Ruby-GNOME Project Team
3
+ * Copyright (C) 2019-2022 Ruby-GNOME Project Team
4
4
  *
5
5
  * This library is free software; you can redistribute it and/or
6
6
  * modify it under the terms of the GNU Lesser General Public
@@ -26,6 +26,7 @@ typedef struct RBGICallback_ {
26
26
  gchar *method_name;
27
27
  ffi_cif cif;
28
28
  ffi_closure *closure;
29
+ gpointer *closure_native_address;
29
30
  } RBGICallback;
30
31
 
31
32
  G_GNUC_INTERNAL void
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobject-introspection
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-01 00:00:00.000000000 Z
11
+ date: 2022-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: 4.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
26
+ version: 4.0.3
27
27
  description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
28
28
  and a loader module that can generate dynamically Ruby bindings of any GObject C
29
29
  libraries