glib2 4.0.8 → 4.0.9

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: 60c2c5487f29ebf3acdc88e99156b8cae261f6441dac6632582d473ce65accb3
4
- data.tar.gz: cfdf2199e9cd240cebd48deba4de79c8984bcffd0da60c10a866fe18a7f895ad
3
+ metadata.gz: fe916b09900b952d7a6a33b8230c970668d44d99be2e6f2cb972c9c32b803ff8
4
+ data.tar.gz: b114d52cf6ba92239fc60733476b73b2d602384e33373d94613e5af0b379ee2a
5
5
  SHA512:
6
- metadata.gz: 67d10012778e5f0ac390adbfb80c4ec3492a0c858182685742be776f279d88c6775146dfad71f23858cb44d074ad74841b8481987ff6805e7755d94218387445
7
- data.tar.gz: 8b2bd8cca9855bbf2edb22dfa00977d7d903ccbf7048160e4c564bd4472fc1181b962cc7de0d0325a79fa6ebed22f7d54f6695b292429042b8878a83866740c9
6
+ metadata.gz: 58497d69ee2e782ae965ee8e510790cb95c1c09db576d89276feb150c2a19943e05ea9e6e0fbf2a483375b1b4931bfdfa77982f3cff3f05deea6841127acf314
7
+ data.tar.gz: f5b88996c405efa1c75ec5755bacd49eaf15ed2e1c763bc22ba5b7275e6dc9a4340652916573d6b60b5df4f5ad8560e564b709af320b1ed9c6c9c0cf54f5e036
data/ext/glib2/rbglib.h CHANGED
@@ -33,7 +33,7 @@ G_BEGIN_DECLS
33
33
 
34
34
  #define RBGLIB_MAJOR_VERSION 4
35
35
  #define RBGLIB_MINOR_VERSION 0
36
- #define RBGLIB_MICRO_VERSION 8
36
+ #define RBGLIB_MICRO_VERSION 9
37
37
 
38
38
  #ifndef RB_ZALLOC
39
39
  # ifdef ZALLOC
@@ -158,7 +158,7 @@ rclosure_marshal(GClosure* closure,
158
158
  static void rclosure_weak_notify(gpointer data, GObject* where_the_object_was);
159
159
 
160
160
  static void
161
- rclosure_finalize(G_GNUC_UNUSED gpointer data, GClosure *closure)
161
+ rclosure_invalidate(G_GNUC_UNUSED gpointer data, GClosure *closure)
162
162
  {
163
163
  GRClosure *rclosure = (GRClosure *)closure;
164
164
 
@@ -200,7 +200,12 @@ gr_closure_holder_free(void *data)
200
200
  if (!rclosure)
201
201
  return;
202
202
 
203
- g_closure_unref((GClosure *)rclosure);
203
+ GClosure *closure = (GClosure *)rclosure;
204
+ gboolean last_reference = (closure->ref_count == 1);
205
+ g_closure_unref(closure);
206
+ if (!last_reference) {
207
+ g_closure_invalidate(closure);
208
+ }
204
209
  }
205
210
 
206
211
  static const rb_data_type_t rbg_closure_holder_type = {
@@ -237,7 +242,7 @@ g_rclosure_new_raw(VALUE callback_proc,
237
242
  g_closure_ref(closure);
238
243
  g_closure_sink(closure);
239
244
  g_closure_set_marshal(closure, &rclosure_marshal);
240
- g_closure_add_finalize_notifier(closure, NULL, rclosure_finalize);
245
+ g_closure_add_invalidate_notifier(closure, NULL, rclosure_invalidate);
241
246
 
242
247
  return closure;
243
248
  }
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.0.8
4
+ version: 4.0.9
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-15 00:00:00.000000000 Z
11
+ date: 2023-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pkg-config
@@ -225,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
225
  - !ruby/object:Gem::Version
226
226
  version: '0'
227
227
  requirements: []
228
- rubygems_version: 3.4.0.dev
228
+ rubygems_version: 3.5.0.dev
229
229
  signing_key:
230
230
  specification_version: 4
231
231
  summary: Ruby/GLib2 is a Ruby binding of GLib-2.x.