gobject-introspection 4.1.0 → 4.1.2

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: 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