gobject-introspection 4.2.5 → 4.2.6
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d88a4a6128c816a6b3748a8de4604759a2b2cee0395a2fda92e2ce18c16095d1
|
4
|
+
data.tar.gz: 160aa66ce37fb5448a1d7d0fdc752e7fc29a268f6e9689efd51ac19f6ffd96c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0093faeaaebf617a75bd552f23d29456cc3c8a4e43878414d8faaf7c8b13eaf1fef25799cecf73df6df2f7dfaf60fd675dd988b30206d7fb6ef02e74bdd6932b'
|
7
|
+
data.tar.gz: '0532796d74b9faf5a6fbf44005c234bb5dc51825b40b6b6bdd7ef4175d7778f8cca3eb2ab3fc0db2be081bdb136cc482f20eac26d95edef4f42170c19d5feb82'
|
@@ -602,6 +602,12 @@ rb_gi_arguments_convert_arg_interface_body(VALUE user_data)
|
|
602
602
|
}
|
603
603
|
case GI_INFO_TYPE_OBJECT:
|
604
604
|
case GI_INFO_TYPE_INTERFACE:
|
605
|
+
if (!G_IS_OBJECT(data->arg->v_pointer)) {
|
606
|
+
GIObjectInfoRefFunction ref = g_object_info_get_ref_function_pointer(data->arg_metadata->type.interface_info);
|
607
|
+
if (ref) {
|
608
|
+
ref(data->arg->v_pointer);
|
609
|
+
}
|
610
|
+
}
|
605
611
|
return GOBJ2RVAL(data->arg->v_pointer);
|
606
612
|
case GI_INFO_TYPE_CONSTANT:
|
607
613
|
rb_raise(rb_eNotImpError,
|
@@ -2148,10 +2154,17 @@ rb_gi_arguments_convert_return_value_free_everything_interface(
|
|
2148
2154
|
case GI_INFO_TYPE_OBJECT:
|
2149
2155
|
{
|
2150
2156
|
GObject *object = data->value->v_pointer;
|
2151
|
-
if (
|
2152
|
-
|
2157
|
+
if (G_IS_OBJECT(object)) {
|
2158
|
+
if (g_object_is_floating(object)) {
|
2159
|
+
g_object_ref_sink(object);
|
2160
|
+
}
|
2161
|
+
g_object_unref(object);
|
2162
|
+
} else {
|
2163
|
+
GIObjectInfoUnrefFunction unref = g_object_info_get_unref_function_pointer(data->metadata->type.interface_info);
|
2164
|
+
if (unref) {
|
2165
|
+
unref(object);
|
2166
|
+
}
|
2153
2167
|
}
|
2154
|
-
g_object_unref(object);
|
2155
2168
|
}
|
2156
2169
|
break;
|
2157
2170
|
case GI_INFO_TYPE_INTERFACE:
|
@@ -2463,6 +2476,8 @@ rb_gi_arguments_convert_return_value_free_everything(ReturnValueToRubyData *data
|
|
2463
2476
|
case GI_TYPE_TAG_UINT64:
|
2464
2477
|
case GI_TYPE_TAG_FLOAT:
|
2465
2478
|
case GI_TYPE_TAG_DOUBLE:
|
2479
|
+
/* We need to do nothing. */
|
2480
|
+
break;
|
2466
2481
|
case GI_TYPE_TAG_GTYPE:
|
2467
2482
|
rb_raise(rb_eNotImpError,
|
2468
2483
|
"TODO: free GIArgument(%s) everything",
|
@@ -56,7 +56,8 @@ initialize_receiver(VALUE receiver,
|
|
56
56
|
switch (interface_type) {
|
57
57
|
case GI_INFO_TYPE_OBJECT:
|
58
58
|
G_INITIALIZE(receiver, value->v_pointer);
|
59
|
-
|
59
|
+
/* GTypeInstance * is also GI_INFO_TYPE_OBJECT. */
|
60
|
+
if (G_IS_OBJECT(value->v_pointer)) {
|
60
61
|
gboolean was_floating;
|
61
62
|
was_floating = g_object_is_floating(value->v_pointer);
|
62
63
|
g_object_ref_sink(value->v_pointer);
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gobject-introspection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.6
|
5
5
|
platform: ruby
|
6
|
-
original_platform: ''
|
7
6
|
authors:
|
8
7
|
- The Ruby-GNOME Project Team
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-01-25 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: glib2
|
@@ -16,14 +15,14 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - '='
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.2.
|
18
|
+
version: 4.2.6
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
23
|
- - '='
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.2.
|
25
|
+
version: 4.2.6
|
27
26
|
description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
|
28
27
|
and a loader module that can generate dynamically Ruby bindings of any GObject C
|
29
28
|
libraries
|
@@ -149,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
148
|
- !ruby/object:Gem::Version
|
150
149
|
version: '0'
|
151
150
|
requirements: []
|
152
|
-
rubygems_version: 3.6.
|
151
|
+
rubygems_version: 3.6.2
|
153
152
|
specification_version: 4
|
154
153
|
summary: Ruby/GObjectIntrospection is a Ruby binding of GObject Introspection.
|
155
154
|
test_files: []
|