gobject-introspection 4.3.7 → 4.3.8

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: d519f850af84ac0602d4a8fe2e0b68fab52d46dec6a94e28a1438bd65d3f2a3e
4
- data.tar.gz: c0d6260db2ec239fed19214d15a46f48d8cdec20e0da01d4c69d3cf330df84b1
3
+ metadata.gz: bea762b4c457fd0cc3329db0e3fccc43cfe389ff9c37b0bb654ae1d2b623be4a
4
+ data.tar.gz: 6a38b0d91e3c1e1d3a56f9fbf0599cc1fe1e7efb6f930871c6412b36988c6c3d
5
5
  SHA512:
6
- metadata.gz: c31ff204d5009a52c80024057b74fd145545279a2624114f28b8a3c7f13c42724cae88527e7f923dd8d2fd5a9c9f0c017c94af851c97f1c2a8c88c20b06470a0
7
- data.tar.gz: 97f30ee234ae5e68397280d17346c58c1efcb6889683d509c62a6d5175008e10c42a5a4e1d78aaaaa90c29371f9a531f0a8dfe66f59862617ea246a7f5f7a78c
6
+ metadata.gz: a13067478f1a434c4187d2a5fe3ec93e4b997a20374c3aadb59d438596f75295bb78925f793a856c51f0dc6ea685c549d08ff47e14b2ce2467a46f3712bca55d
7
+ data.tar.gz: 63be6985a87484a70709354b769b24cac31f73d5cb0d2420f7e055d49e58a606d891820ecb2584558d4d0af473d296125e29dd0147af1e13eac0cc6c64e5f42a
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2012-2022 Ruby-GNOME Project Team
3
+ * Copyright (C) 2012-2026 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
@@ -64,13 +64,10 @@ rb_gi_callback_invoke_without_protect(VALUE user_data)
64
64
  VALUE rb_args = rb_gi_arguments_get_rb_in_args(data->args);
65
65
 
66
66
  if (data->callback->method_name) {
67
- ID id___send__;
68
67
  VALUE rb_receiver = rb_ary_shift(rb_args);
69
- CONST_ID(id___send__, "__send__");
70
- rb_ary_unshift(rb_args, rb_str_new_cstr(data->callback->method_name));
71
68
  data->rb_return_value =
72
69
  rb_funcallv(rb_receiver,
73
- id___send__,
70
+ data->callback->method_id,
74
71
  RARRAY_LENINT(rb_args),
75
72
  RARRAY_CONST_PTR(rb_args));
76
73
  } else {
@@ -201,7 +198,13 @@ rb_gi_callback_new(GICallbackInfo *callback_info,
201
198
  RBGICallback *callback = RB_ZALLOC(RBGICallback);
202
199
  callback->callback_info = callback_info;
203
200
  g_base_info_ref(callback->callback_info);
204
- callback->method_name = g_strdup(method_name);
201
+ if (method_name) {
202
+ callback->method_name = g_strdup(method_name);
203
+ callback->method_id = rb_intern(callback->method_name);
204
+ } else {
205
+ callback->method_name = NULL;
206
+ callback->method_id = 0;
207
+ }
205
208
  callback->closure =
206
209
  g_callable_info_create_closure(callback->callback_info,
207
210
  &(callback->cif),
@@ -234,8 +234,8 @@ rg_s_register_boxed_class_converter(VALUE klass, VALUE rb_gtype)
234
234
  data = g_new(BoxedInstance2RObjData, 1);
235
235
  data->type = table.type;
236
236
  data->rb_converter = rb_block_proc();
237
- boxed_class_converters = rb_cv_get(klass, boxed_class_converters_name);
238
- rb_ary_push(boxed_class_converters, data->rb_converter);
237
+ data->rb_converters = rb_cv_get(klass, boxed_class_converters_name);
238
+ rb_ary_push(data->rb_converters, data->rb_converter);
239
239
  table.user_data = data;
240
240
  table.notify = boxed_class_converter_free;
241
241
 
@@ -302,8 +302,8 @@ rg_s_register_object_class_converter(VALUE klass, VALUE rb_gtype)
302
302
  data = g_new(ObjectInstance2RObjData, 1);
303
303
  data->type = table.type;
304
304
  data->rb_converter = rb_block_proc();
305
- object_class_converters = rb_cv_get(klass, object_class_converters_name);
306
- rb_ary_push(object_class_converters, data->rb_converter);
305
+ data->rb_converters = rb_cv_get(klass, object_class_converters_name);
306
+ rb_ary_push(data->rb_converters, data->rb_converter);
307
307
  table.user_data = data;
308
308
  table.notify = object_class_converter_free;
309
309
 
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2019-2022 Ruby-GNOME Project Team
3
+ * Copyright (C) 2019-2026 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
@@ -24,6 +24,7 @@ typedef struct RBGICallback_ {
24
24
  GIArgInfo *arg_info;
25
25
  GICallbackInfo *callback_info;
26
26
  gchar *method_name;
27
+ ID method_id;
27
28
  ffi_cif cif;
28
29
  ffi_closure *closure;
29
30
  gpointer *closure_native_address;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobject-introspection
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.7
4
+ version: 4.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 4.3.7
18
+ version: 4.3.8
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 4.3.7
25
+ version: 4.3.8
26
26
  description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
27
27
  and a loader module that can generate dynamically Ruby bindings of any GObject C
28
28
  libraries
@@ -157,7 +157,7 @@ requirements:
157
157
  - 'system: gobject-introspection-1.0: macports: gobject-introspection'
158
158
  - 'system: gobject-introspection-1.0: msys2: gobject-introspection'
159
159
  - 'system: gobject-introspection-1.0: rhel: pkgconfig(gobject-introspection-1.0)'
160
- rubygems_version: 4.0.10
160
+ rubygems_version: 4.0.16
161
161
  specification_version: 4
162
162
  summary: Ruby/GObjectIntrospection is a Ruby binding of GObject Introspection.
163
163
  test_files: []