glib2 4.1.5 → 4.1.7
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/glib2/glib2.def +1 -0
- data/ext/glib2/rbglib-variant.c +4 -2
- data/ext/glib2/rbglib.h +1 -1
- data/ext/glib2/rbgobj_closure.c +18 -13
- data/ext/glib2/rbgobj_enums.c +3 -1
- data/ext/glib2/rbgobj_flags.c +3 -1
- data/ext/glib2/rbgobj_object.c +11 -3
- data/ext/glib2/rbgobj_signal.c +3 -1
- data/ext/glib2/rbgobj_valuetypes.c +3 -1
- data/ext/glib2/rbgobject.h +3 -1
- data/lib/mkmf-gnome.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b418a07a02ac4a347a97c51aa7bd720ae270fe2b2e4570240b630347dce236f
|
4
|
+
data.tar.gz: 6e09ba006758b60901ef0a11090683a3049985fa0427bf35e8c33419401ff039
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9daf24c2d74c02169946f3442fe1c6c748ca5a9faa12dd3e90f5e88cc71536678efaf15fb81a8f6b092b0d8c238b6a517b18fbfd727b71b41b299b357be845c
|
7
|
+
data.tar.gz: 8c598058d9deee04c344388ae2370d2ab5d2b35afc6fe029bf7cb583e5e92a44fd895d67a1348c7955ebc10d7683e39812e3379a24bed67421e950e3bfb8881a
|
data/ext/glib2/glib2.def
CHANGED
data/ext/glib2/rbglib-variant.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2015-
|
3
|
+
* Copyright (C) 2015-2023 Ruby-GNOME Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -115,7 +115,9 @@ static const rb_data_type_t rbg_variant_type = {
|
|
115
115
|
},
|
116
116
|
NULL,
|
117
117
|
NULL,
|
118
|
-
RUBY_TYPED_FREE_IMMEDIATELY
|
118
|
+
RUBY_TYPED_FREE_IMMEDIATELY |
|
119
|
+
RUBY_TYPED_WB_PROTECTED |
|
120
|
+
RUBY_TYPED_FROZEN_SHAREABLE,
|
119
121
|
};
|
120
122
|
|
121
123
|
static VALUE
|
data/ext/glib2/rbglib.h
CHANGED
data/ext/glib2/rbgobj_closure.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2002-
|
3
|
+
* Copyright (C) 2002-2023 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
#define RG_TARGET_NAMESPACE cClosure
|
25
25
|
|
26
|
-
static ID id_call
|
26
|
+
static ID id_call;
|
27
27
|
static gboolean rclosure_initialized = FALSE;
|
28
28
|
|
29
29
|
#define TAG_SIZE 64
|
@@ -155,6 +155,7 @@ rclosure_marshal(GClosure* closure,
|
|
155
155
|
G_PROTECT_CALLBACK(rclosure_marshal_do, &arg);
|
156
156
|
}
|
157
157
|
|
158
|
+
static void g_rclosure_detach_raw_gobject(GClosure *closure, GObject *gobject);
|
158
159
|
static void rclosure_weak_notify(gpointer data, GObject* where_the_object_was);
|
159
160
|
|
160
161
|
static void
|
@@ -165,12 +166,11 @@ rclosure_invalidate(G_GNUC_UNUSED gpointer data, GClosure *closure)
|
|
165
166
|
GList *next;
|
166
167
|
for (next = rclosure->objects; next; next = next->next) {
|
167
168
|
GObject *object = G_OBJECT(next->data);
|
169
|
+
if (!NIL_P(rclosure->rb_holder)) {
|
170
|
+
g_rclosure_detach_raw_gobject(closure, object);
|
171
|
+
}
|
168
172
|
g_object_weak_unref(object, rclosure_weak_notify, rclosure);
|
169
173
|
g_closure_unref(closure);
|
170
|
-
VALUE obj = rbgobj_ruby_object_from_instance2(object, FALSE);
|
171
|
-
if (!NIL_P(rclosure->rb_holder) && !NIL_P(obj)) {
|
172
|
-
rbgobj_object_remove_relative(obj, rclosure->rb_holder);
|
173
|
-
}
|
174
174
|
}
|
175
175
|
g_list_free(rclosure->objects);
|
176
176
|
rclosure->objects = NULL;
|
@@ -217,7 +217,9 @@ static const rb_data_type_t rbg_closure_holder_type = {
|
|
217
217
|
},
|
218
218
|
NULL,
|
219
219
|
NULL,
|
220
|
-
RUBY_TYPED_FREE_IMMEDIATELY |
|
220
|
+
RUBY_TYPED_FREE_IMMEDIATELY |
|
221
|
+
RUBY_TYPED_WB_PROTECTED |
|
222
|
+
RUBY_TYPED_FROZEN_SHAREABLE,
|
221
223
|
};
|
222
224
|
|
223
225
|
static GClosure *
|
@@ -279,10 +281,7 @@ void
|
|
279
281
|
g_rclosure_attach(GClosure *closure, VALUE object)
|
280
282
|
{
|
281
283
|
GRClosure *rclosure = (GRClosure *)closure;
|
282
|
-
|
283
|
-
Qnil,
|
284
|
-
id_closures,
|
285
|
-
rclosure->rb_holder);
|
284
|
+
rbgobj_add_relative(object, rclosure->rb_holder);
|
286
285
|
}
|
287
286
|
|
288
287
|
void
|
@@ -297,11 +296,18 @@ g_rclosure_attach_gobject(GClosure *closure, VALUE object)
|
|
297
296
|
rclosure->objects = g_list_prepend(rclosure->objects, gobject);
|
298
297
|
}
|
299
298
|
|
299
|
+
static void
|
300
|
+
g_rclosure_detach_raw_gobject(GClosure *closure, GObject *gobject)
|
301
|
+
{
|
302
|
+
GRClosure *rclosure = (GRClosure *)closure;
|
303
|
+
rbgobj_gobject_remove_relative(gobject, rclosure->rb_holder);
|
304
|
+
}
|
305
|
+
|
300
306
|
void
|
301
307
|
g_rclosure_detach(GClosure *closure, VALUE object)
|
302
308
|
{
|
303
309
|
GRClosure *rclosure = (GRClosure *)closure;
|
304
|
-
rbgobj_remove_relative(object,
|
310
|
+
rbgobj_remove_relative(object, 0, rclosure->rb_holder);
|
305
311
|
}
|
306
312
|
|
307
313
|
void
|
@@ -338,7 +344,6 @@ static void
|
|
338
344
|
init_rclosure(void)
|
339
345
|
{
|
340
346
|
id_call = rb_intern("call");
|
341
|
-
id_closures = rb_intern("closures");
|
342
347
|
rclosure_initialized = TRUE;
|
343
348
|
rb_set_end_proc(rclosure_end_proc, Qnil);
|
344
349
|
}
|
data/ext/glib2/rbgobj_enums.c
CHANGED
@@ -114,7 +114,9 @@ static const rb_data_type_t rg_glib_enum_type = {
|
|
114
114
|
},
|
115
115
|
NULL,
|
116
116
|
NULL,
|
117
|
-
RUBY_TYPED_FREE_IMMEDIATELY |
|
117
|
+
RUBY_TYPED_FREE_IMMEDIATELY |
|
118
|
+
RUBY_TYPED_WB_PROTECTED |
|
119
|
+
RUBY_TYPED_FROZEN_SHAREABLE,
|
118
120
|
};
|
119
121
|
|
120
122
|
static enum_holder *
|
data/ext/glib2/rbgobj_flags.c
CHANGED
@@ -83,7 +83,9 @@ static const rb_data_type_t rg_glib_flags_type = {
|
|
83
83
|
},
|
84
84
|
NULL,
|
85
85
|
NULL,
|
86
|
-
RUBY_TYPED_FREE_IMMEDIATELY |
|
86
|
+
RUBY_TYPED_FREE_IMMEDIATELY |
|
87
|
+
RUBY_TYPED_WB_PROTECTED |
|
88
|
+
RUBY_TYPED_FROZEN_SHAREABLE,
|
87
89
|
};
|
88
90
|
|
89
91
|
static flags_holder*
|
data/ext/glib2/rbgobj_object.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2002-
|
3
|
+
* Copyright (C) 2002-2023 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2002-2003 Masahiro Sakai
|
5
5
|
* Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
6
6
|
* Daisuke Kanda,
|
@@ -132,6 +132,15 @@ rbgobj_object_add_relative(VALUE rb_gobject, VALUE rb_relative)
|
|
132
132
|
}
|
133
133
|
}
|
134
134
|
|
135
|
+
void
|
136
|
+
rbgobj_gobject_remove_relative(GObject *gobject, VALUE rb_relative)
|
137
|
+
{
|
138
|
+
gobj_holder *holder = g_object_get_qdata(gobject, RUBY_GOBJECT_OBJ_KEY);
|
139
|
+
if (holder && holder->rb_relatives) {
|
140
|
+
g_hash_table_remove(holder->rb_relatives, (gpointer)(rb_relative));
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
135
144
|
void
|
136
145
|
rbgobj_object_remove_relative(VALUE rb_gobject, VALUE rb_relative)
|
137
146
|
{
|
@@ -141,8 +150,7 @@ rbgobj_object_remove_relative(VALUE rb_gobject, VALUE rb_relative)
|
|
141
150
|
&rg_glib_object_type,
|
142
151
|
holder);
|
143
152
|
if (holder->rb_relatives) {
|
144
|
-
g_hash_table_remove(holder->rb_relatives,
|
145
|
-
(gpointer)(rb_relative));
|
153
|
+
g_hash_table_remove(holder->rb_relatives, (gpointer)(rb_relative));
|
146
154
|
}
|
147
155
|
}
|
148
156
|
|
data/ext/glib2/rbgobj_signal.c
CHANGED
@@ -37,7 +37,9 @@ static const rb_data_type_t rg_glib_signal_type = {
|
|
37
37
|
},
|
38
38
|
NULL,
|
39
39
|
NULL,
|
40
|
-
RUBY_TYPED_FREE_IMMEDIATELY |
|
40
|
+
RUBY_TYPED_FREE_IMMEDIATELY |
|
41
|
+
RUBY_TYPED_WB_PROTECTED |
|
42
|
+
RUBY_TYPED_FROZEN_SHAREABLE,
|
41
43
|
};
|
42
44
|
|
43
45
|
static VALUE
|
data/ext/glib2/rbgobject.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2003-
|
3
|
+
* Copyright (C) 2003-2023 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -146,6 +146,8 @@ extern void rbgobj_instance_unref(gpointer instance);
|
|
146
146
|
|
147
147
|
extern void rbgobj_object_add_relative(VALUE rb_gobject,
|
148
148
|
VALUE rb_relative);
|
149
|
+
extern void rbgobj_gobject_remove_relative(GObject *gobject,
|
150
|
+
VALUE rb_relative);
|
149
151
|
extern void rbgobj_object_remove_relative(VALUE rb_gobject,
|
150
152
|
VALUE rb_relative);
|
151
153
|
extern void rbgobj_object_remove_relatives(VALUE rb_gobject,
|
data/lib/mkmf-gnome.rb
CHANGED
@@ -431,7 +431,7 @@ def glib_mkenums(prefix, files, g_type_prefix, include_files, options={})
|
|
431
431
|
end
|
432
432
|
|
433
433
|
def check_cairo(options={})
|
434
|
-
rcairo_source_dir = options[:rcairo_source_dir]
|
434
|
+
rcairo_source_dir = options[:rcairo_source_dir] || ENV["RCAIRO_SOURCE_DIR"]
|
435
435
|
if rcairo_source_dir.nil?
|
436
436
|
rcairo_source_base_dir = "rcairo"
|
437
437
|
top_dir = options[:top_dir]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.1.
|
4
|
+
version: 4.1.7
|
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-05-
|
11
|
+
date: 2023-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pkg-config
|