gobject-introspection 4.0.9 → 4.1.1
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 +4 -4
- data/ext/gobject-introspection/rb-gi-arguments.c +22 -5
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 641a7581763060797805bfc1a3781e11951f7a3cf44d05abcf9763e4bc884064
|
4
|
+
data.tar.gz: 122687f121cd417ff97ea0cc3ecd1bef15fa5a724a50f59c10565e8c1c3e4a71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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.
|
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.
|
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
|