gobject-introspection 4.1.0 → 4.1.2

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: eff07e185f0759ccd823df31493a4b7f3012fe045f14eb1edac2315cd657ef23
4
+ data.tar.gz: 67cb2d6f667aa0255ab581eaae1d4fb6d85a736c8c7544c6caccff271b6168f1
5
5
  SHA512:
6
- metadata.gz: 0e0cdcc0ed82f26e5eb568c4584c15f0c66c1870332c658bdf10ab7f1710876d9fc9b9b56277a16a3f01391e65190c5fa638ccb73e50c4954f99af3a19c0e072
7
- data.tar.gz: b671769d3c98c1a3309436afa756977fb7dc1e9b2de97aa2283d0309fe6f20e5bd7b590b1220a07ac5e6327f1378c89375108d56ad30c59426440c07728958bc
6
+ metadata.gz: be4e95844ad869d782590a6a978947d429b704a054d06a63810d2e2ad4a3daf9e8511f25c1dff60f4d31197c69d84df36db6afe1aaeba3dbf81d9e9ecea7de7b
7
+ data.tar.gz: 608d5dffeb78e04770b721982fcc83d78a5c8742d912f9800b09b6a4d03ad007485f7ea8b6d5e92f04cfb5520f8fedc9093ec52e606489c4e3e9d02cc6ff29bf
@@ -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
  }
@@ -349,13 +349,14 @@ module GObjectIntrospection
349
349
  return
350
350
  end
351
351
  end
352
+ full_method_name = "\#{self.class.name}\#\#{__method__}"
352
353
  message = "wrong arguments: "
353
- message << "\#{self.class.name}#initialize("
354
+ message << "\#{full_method_name}("
354
355
  message << arguments.collect(&:inspect).join(", ")
355
- message << "): "
356
- message << "available signatures"
356
+ message << "):\\n"
357
+ message << "available signatures:"
357
358
  invokers.each_value do |invoker|
358
- message << ": \#{invoker.signature}"
359
+ message << "\\n\#{full_method_name}\#{invoker.signature}"
359
360
  end
360
361
  raise ArgumentError, message
361
362
  end
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.2
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-24 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.2
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.2
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