gobject-introspection 4.1.0 → 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: 13a53ddb47d6c24b2c63d92b95071030648b9ff9992fff79c01f6d7ebeb2321e
4
- data.tar.gz: f5717e59f30e4ccfe2a4347aa65b0d5ea58d6392ee7dede0adf523506a767fa2
3
+ metadata.gz: 641a7581763060797805bfc1a3781e11951f7a3cf44d05abcf9763e4bc884064
4
+ data.tar.gz: 122687f121cd417ff97ea0cc3ecd1bef15fa5a724a50f59c10565e8c1c3e4a71
5
5
  SHA512:
6
- metadata.gz: 0e0cdcc0ed82f26e5eb568c4584c15f0c66c1870332c658bdf10ab7f1710876d9fc9b9b56277a16a3f01391e65190c5fa638ccb73e50c4954f99af3a19c0e072
7
- data.tar.gz: b671769d3c98c1a3309436afa756977fb7dc1e9b2de97aa2283d0309fe6f20e5bd7b590b1220a07ac5e6327f1378c89375108d56ad30c59426440c07728958bc
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.1.0
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.1.0
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.1.0
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