gobject-introspection 4.2.5 → 4.2.6
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:
|
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: []
|