gobject-introspection 4.0.9 → 4.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 207e8a275747642adb4504209ed9452378b23b85b3d658081d20b0177ce172e3
4
- data.tar.gz: d8389515b9f687df9c0360917adf288f443501af9901128edf63241eb77bd4e7
3
+ metadata.gz: 641a7581763060797805bfc1a3781e11951f7a3cf44d05abcf9763e4bc884064
4
+ data.tar.gz: 122687f121cd417ff97ea0cc3ecd1bef15fa5a724a50f59c10565e8c1c3e4a71
5
5
  SHA512:
6
- metadata.gz: 57d72611f0fe8aece1f8937d635de5617b87d9ab245ab30342794299f9c19dd73245c3c214849986b96d398d0655d60dd62225e3d3726daeade039d6fe1563ca
7
- data.tar.gz: 5aeb4a286f50c303171568425108c5cbd3a97df83e869bfd8efc1594c88a1493602301f8aa6878fd65140103a0abba72faa0642f6676a81ec6a8aa0c7626b130
6
+ metadata.gz: d8434dadff016f3a08de7efbd54e8ca139b1a3116cec32906b72bead9796956b47e6dbd60dda3d59c2eafa555aee4cf867e515e08e6a76caf7f96aa2d261f993
7
+ data.tar.gz: 1b650731d1e8e5110575d85fc432885c08a4bdc0fccb4a56d32e33d1410f11fd74cbe15e0d61f9604f5c493174da6068b368844bd0d4482a9c37ed6a1c09e19b
@@ -2560,7 +2560,7 @@ rb_gi_arguments_fill_raw_result_interface(RBGIArguments *args,
2560
2560
  g_base_info_get_name(interface_info));
2561
2561
  } else {
2562
2562
  value = RVAL2BOXED(rb_result, gtype);
2563
- if (transfer == GI_TRANSFER_EVERYTHING) {
2563
+ if (value && transfer == GI_TRANSFER_EVERYTHING) {
2564
2564
  value = g_boxed_copy(gtype, value);
2565
2565
  }
2566
2566
  }
@@ -3030,6 +3030,7 @@ rb_gi_arguments_fill_raw_results(RBGIArguments *args,
3030
3030
  VALUE rb_results,
3031
3031
  gpointer raw_return_value)
3032
3032
  {
3033
+ const gboolean rb_results_is_array = RB_TYPE_P(rb_results, RUBY_T_ARRAY);
3033
3034
  int i_rb_result = 0;
3034
3035
  guint i;
3035
3036
  GITypeInfo *return_type_info;
@@ -3049,13 +3050,19 @@ rb_gi_arguments_fill_raw_results(RBGIArguments *args,
3049
3050
  transfer,
3050
3051
  TRUE);
3051
3052
  } else {
3053
+ VALUE rb_return_value;
3054
+ if (rb_results_is_array) {
3055
+ rb_return_value = RARRAY_AREF(rb_results, i_rb_result);
3056
+ } else {
3057
+ rb_return_value = rb_results;
3058
+ }
3059
+ i_rb_result++;
3052
3060
  rb_gi_arguments_fill_raw_result(args,
3053
- RARRAY_AREF(rb_results, i_rb_result),
3061
+ rb_return_value,
3054
3062
  raw_return_value,
3055
3063
  return_type_info,
3056
3064
  transfer,
3057
3065
  TRUE);
3058
- i_rb_result++;
3059
3066
  }
3060
3067
  }
3061
3068
  g_base_info_unref(return_type_info);
@@ -3078,13 +3085,23 @@ rb_gi_arguments_fill_raw_results(RBGIArguments *args,
3078
3085
  metadata->out_arg_index);
3079
3086
  type_info = g_arg_info_get_type(&(metadata->arg_info));
3080
3087
  transfer = g_arg_info_get_ownership_transfer(&(metadata->arg_info));
3088
+ VALUE rb_result_value;
3089
+ if (rb_results_is_array) {
3090
+ rb_result_value = RARRAY_AREF(rb_results, i_rb_result);
3091
+ } else {
3092
+ if (i_rb_result == 0) {
3093
+ rb_result_value = rb_results;
3094
+ } else {
3095
+ rb_result_value = RUBY_Qnil;
3096
+ }
3097
+ }
3098
+ i_rb_result++;
3081
3099
  rb_gi_arguments_fill_raw_result(args,
3082
- RARRAY_AREF(rb_results, i_rb_result),
3100
+ rb_result_value,
3083
3101
  argument->v_pointer,
3084
3102
  type_info,
3085
3103
  transfer,
3086
3104
  FALSE);
3087
- i_rb_result++;
3088
3105
  g_base_info_unref(type_info);
3089
3106
  }
3090
3107
  }
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.9
4
+ version: 4.1.1
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: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-02-09 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.9
19
+ version: 4.1.1
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.9
26
+ version: 4.1.1
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