gtk3 3.5.1 → 4.0.0

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: 37c71a4374f097116616dd4ac4a2cc7982c2f8f9bf26308716d54f5d9b9dcbbc
4
- data.tar.gz: 729e9a98fcdde0d3e27b43e865b4196b293fbc55045bb7af2126f6e5f1a4310d
3
+ metadata.gz: 9fbd7f61ea4374757cc5762d2a03cc915755fc7f0c582dccd6b1fd576be2194c
4
+ data.tar.gz: 80cddbe9e92172568e21df21c1eae29e49f6b7556d0a8d44eed9410ee57b77de
5
5
  SHA512:
6
- metadata.gz: 1a1fa1bd69e4cb510cff18afa74cc634e927dabc894a69f4318bc70deb4133342fa8697d348e45a23d50c63f6e4f37813b190684b290913e5ac76949a6f29a55
7
- data.tar.gz: d8d81e29ce8fa60a8e7a0afed2efe36ee6d46beb28c5fcf5d15f335f3816c8987b6b7e02640e78e9614cbe03b42d14d3635e55d4bf984829f74e2a5cb01be2b8
6
+ metadata.gz: 7f2788da31bb6187a156d6be347da8e1e33013723eb6dfcdc4975f5090faca69b3d45c4e5bf2226e3c0970d54ec42ac9470755855d20bb389e5ac761e9d4058c
7
+ data.tar.gz: bf33b0b523f6f1af70945afca73f9be13014f6099027a15b6c1e419ea5206f67fd14b492e6fe374efd48db45188ab9ec842cadb100b72c5282d53c881d45e87c
@@ -0,0 +1,76 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2022 Ruby-GNOME Project Team
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #include "rb-gtk3-private.h"
22
+
23
+ static void
24
+ accel_map_foreach_func(gpointer data,
25
+ const gchar *path,
26
+ guint key,
27
+ GdkModifierType accel_mods,
28
+ gboolean changed)
29
+ {
30
+ VALUE block = (VALUE)data;
31
+ ID id_call;
32
+ CONST_ID(id_call, "call");
33
+ rb_funcall(block,
34
+ id_call,
35
+ 4,
36
+ CSTR2RVAL(path),
37
+ UINT2NUM(key),
38
+ GFLAGS2RVAL(accel_mods, GDK_TYPE_MODIFIER_TYPE),
39
+ CBOOL2RVAL(changed));
40
+ }
41
+
42
+ static VALUE
43
+ rg_s_each(int argc, VALUE *args, VALUE self)
44
+ {
45
+ RETURN_ENUMERATOR(self, argc, args);
46
+
47
+ VALUE options = Qnil;
48
+ VALUE block = Qnil;
49
+ rb_scan_args(argc, args, ":&", &options, &block);
50
+
51
+ ID keywords[1];
52
+ VALUE values[1];
53
+ CONST_ID(keywords[0], "filter");
54
+ rb_get_kwargs(options, keywords, 0, 1, values);
55
+
56
+ VALUE filter = values[0];
57
+ if (filter == RUBY_Qundef || RB_NIL_P(filter)) {
58
+ filter = RUBY_Qtrue;
59
+ }
60
+ if (RB_TEST(filter)) {
61
+ gtk_accel_map_foreach((gpointer)block, accel_map_foreach_func);
62
+ } else {
63
+ gtk_accel_map_foreach_unfiltered((gpointer)block,
64
+ accel_map_foreach_func);
65
+ }
66
+ return self;
67
+ }
68
+
69
+ void
70
+ rbgtk3_accel_map_init(void)
71
+ {
72
+ VALUE mGtk = rb_const_get(rb_cObject, rb_intern("Gtk"));
73
+ VALUE RG_TARGET_NAMESPACE = rb_const_get(mGtk, rb_intern("AccelMap"));
74
+
75
+ RG_DEF_SMETHOD(each, -1);
76
+ }
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2015 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2015-2022 Ruby-GNOME2 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
@@ -100,43 +100,17 @@ set_child_prop_func(GtkContainer *container,
100
100
  GOBJ2RVAL(child), GVAL2RVAL(value));
101
101
  }
102
102
 
103
- static void
104
- class_init_func(gpointer g_class, gpointer class_data)
103
+ static VALUE
104
+ rg_s_init(VALUE klass)
105
105
  {
106
- GtkContainerClass *g_container_class = GTK_CONTAINER_CLASS(g_class);
107
-
108
- rbgobj_class_init_func(g_class, class_data);
106
+ rb_call_super(0, NULL);
109
107
 
108
+ GType type = CLASS2GTYPE(klass);
109
+ GtkContainerClass *g_container_class =
110
+ GTK_CONTAINER_CLASS(g_type_class_ref(type));
110
111
  g_container_class->set_child_property = set_child_prop_func;
111
112
  g_container_class->get_child_property = get_child_prop_func;
112
-
113
- rbgtk3_class_init_func(g_class, class_data);
114
- }
115
-
116
- static VALUE
117
- rg_initialize(int argc, VALUE *argv, VALUE self)
118
- {
119
- rb_call_super(argc, argv);
120
- rbgtk3_initialize(self);
121
- return Qnil;
122
- }
123
-
124
- static VALUE
125
- rg_s_type_register(int argc, VALUE *argv, VALUE klass)
126
- {
127
- VALUE type_name;
128
-
129
- rb_scan_args(argc, argv, "01", &type_name);
130
-
131
- rbgobj_register_type(klass, type_name, class_init_func);
132
-
133
- {
134
- VALUE initialize_module;
135
- initialize_module = rb_define_module_under(klass, "ContainerHook");
136
- rbg_define_method(initialize_module,
137
- "initialize", rg_initialize, -1);
138
- rb_include_module(klass, initialize_module);
139
- }
113
+ g_type_class_unref(g_container_class);
140
114
 
141
115
  return Qnil;
142
116
  }
@@ -155,5 +129,5 @@ rbgtk3_container_init(void)
155
129
 
156
130
  rbgobj_register_mark_func(GTK_TYPE_CONTAINER, rb_gtk3_container_mark);
157
131
 
158
- RG_DEF_SMETHOD(type_register, -1);
132
+ RG_DEF_SMETHOD(init, 0);
159
133
  }
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2015-2018 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2015-2022 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
@@ -24,17 +24,13 @@
24
24
  /*
25
25
  * CentOS 6: No GTK+ 3
26
26
  * CentOS 7: GTK+ 3.22
27
- * Ubuntu 14.04: GTK+ 3.10
28
- * Ubuntu 16.04: GTK+ 3.18
29
27
  * Ubuntu 18.04: GTK+ 3.22
30
28
  */
31
- #define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_10
29
+ #define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_22
32
30
 
33
31
  #include "rb-gtk3.h"
34
32
 
35
- G_GNUC_INTERNAL void rbgtk3_class_init_func(gpointer g_class, gpointer class_data);
36
- G_GNUC_INTERNAL void rbgtk3_initialize(VALUE self);
37
-
33
+ G_GNUC_INTERNAL void rbgtk3_accel_map_init(void);
38
34
  G_GNUC_INTERNAL void rbgtk3_cell_layout_init(void);
39
35
  G_GNUC_INTERNAL void rbgtk3_container_init(void);
40
36
  G_GNUC_INTERNAL void rbgtk3_spin_button_init(void);
@@ -25,37 +25,15 @@
25
25
  #define RG_TARGET_NAMESPACE cWidget
26
26
  #define _SELF(self) (RVAL2GTKWIDGET(self))
27
27
 
28
- static void
29
- class_init_func(gpointer g_class, gpointer class_data)
30
- {
31
- rbgobj_class_init_func(g_class, class_data);
32
- rbgtk3_class_init_func(g_class, class_data);
33
- }
34
-
35
- static VALUE
36
- rg_initialize(int argc, VALUE *argv, VALUE self)
37
- {
38
- rb_call_super(argc, argv);
39
- rbgtk3_initialize(self);
40
- return Qnil;
41
- }
42
-
43
28
  static VALUE
44
- rg_s_type_register(int argc, VALUE *argv, VALUE klass)
29
+ rg_initialize_post(VALUE self)
45
30
  {
46
- VALUE type_name;
31
+ GObject *object = RVAL2GOBJ(self);
32
+ g_object_ref_sink(object);
47
33
 
48
- rb_scan_args(argc, argv, "01", &type_name);
49
-
50
- rbgobj_register_type(klass, type_name, class_init_func);
51
-
52
- {
53
- VALUE initialize_module;
54
- initialize_module = rb_define_module_under(klass, "WidgetHook");
55
- rbg_define_method(initialize_module,
56
- "initialize", rg_initialize, -1);
57
- rb_include_module(klass, initialize_module);
58
- }
34
+ ID id_initialize_template;
35
+ CONST_ID(id_initialize_template, "initialize_template");
36
+ rb_funcall(self, id_initialize_template, 0);
59
37
 
60
38
  return Qnil;
61
39
  }
@@ -93,7 +71,7 @@ rbgtk3_widget_init(void)
93
71
  mGtk = rb_const_get(rb_cObject, rb_intern("Gtk"));
94
72
  RG_TARGET_NAMESPACE = rb_const_get(mGtk, rb_intern("Widget"));
95
73
 
96
- RG_DEF_SMETHOD(type_register, -1);
74
+ RG_DEF_PRIVATE_METHOD(initialize_post, 0);
97
75
 
98
76
  rbgobj_set_signal_call_func(RG_TARGET_NAMESPACE,
99
77
  "draw",
data/ext/gtk3/rb-gtk3.c CHANGED
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2015-2018 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2015-2022 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
@@ -573,41 +573,6 @@ rb_gtk3_text_tag_table_mark(gpointer object)
573
573
  gtk_text_tag_table_foreach(table, rb_gtk3_text_tag_table_mark_body, NULL);
574
574
  }
575
575
 
576
- void
577
- rbgtk3_class_init_func(gpointer g_class, G_GNUC_UNUSED gpointer class_data)
578
- {
579
- VALUE rb_class;
580
-
581
- rb_class = GTYPE2CLASS(G_TYPE_FROM_CLASS(g_class));
582
- rb_funcall(rb_class, rb_intern("init"), 0);
583
- }
584
-
585
- void
586
- rbgtk3_initialize(VALUE self)
587
- {
588
- GObject *object;
589
-
590
- object = RVAL2GOBJ(self);
591
- g_object_ref_sink(object);
592
-
593
- rb_funcall(self, rb_intern("initialize_post"), 0);
594
- }
595
-
596
- #ifdef _WIN32
597
- /* Workaround: See glib2/ext/glib2/rbglib.c for details. */
598
- BOOL WINAPI
599
- DllMain(G_GNUC_UNUSED HINSTANCE hinstDLL,
600
- G_GNUC_UNUSED DWORD fdwReason,
601
- G_GNUC_UNUSED LPVOID lpvReserved);
602
- BOOL WINAPI
603
- DllMain(G_GNUC_UNUSED HINSTANCE hinstDLL,
604
- G_GNUC_UNUSED DWORD fdwReason,
605
- G_GNUC_UNUSED LPVOID lpvReserved)
606
- {
607
- return TRUE;
608
- }
609
- #endif
610
-
611
576
  void
612
577
  Init_gtk3(void)
613
578
  {
@@ -630,6 +595,7 @@ Init_gtk3(void)
630
595
  rbgobj_register_mark_func(GTK_TYPE_TEXT_TAG_TABLE,
631
596
  rb_gtk3_text_tag_table_mark);
632
597
 
598
+ rbgtk3_accel_map_init();
633
599
  rbgtk3_cell_layout_init();
634
600
  rbgtk3_container_init();
635
601
  rbgtk3_spin_button_init();
data/gtk3.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- ruby -*-
2
2
  #
3
- # Copyright (C) 2018 Ruby-GNOME Project Team
3
+ # Copyright (C) 2018-2022 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
@@ -42,9 +42,6 @@ Gem::Specification.new do |s|
42
42
  s.files += Dir.glob("sample/**/*")
43
43
  s.files += Dir.glob("test/**/*")
44
44
 
45
- s.add_runtime_dependency("gio2", "= #{s.version}")
46
45
  s.add_runtime_dependency("atk", "= #{s.version}")
47
- s.add_runtime_dependency("pango", "= #{s.version}")
48
- s.add_runtime_dependency("gdk_pixbuf2", "= #{s.version}")
49
46
  s.add_runtime_dependency("gdk3", "= #{s.version}")
50
47
  end
data/lib/gtk3/loader.rb CHANGED
@@ -245,6 +245,12 @@ module Gtk
245
245
  when "events_pending"
246
246
  name = "events_pending?"
247
247
  end
248
+ when "Gtk::AccelMap"
249
+ case name
250
+ when "each", "foreach_unfiltered"
251
+ # Implemented in C
252
+ return
253
+ end
248
254
  when "Gtk::Widget"
249
255
  case name
250
256
  when "default_style"
data/lib/gtk3/widget.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015-2020 Ruby-GNOME Project Team
1
+ # Copyright (C) 2015-2022 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -17,9 +17,6 @@
17
17
  module Gtk
18
18
  class Widget
19
19
  class << self
20
- def init
21
- end
22
-
23
20
  def have_template?
24
21
  @have_template ||= false
25
22
  end
@@ -144,8 +141,19 @@ module Gtk
144
141
  @style_context ||= style_context_raw
145
142
  end
146
143
 
144
+ alias_method :insert_action_group_raw, :insert_action_group
145
+ def insert_action_group(name, group)
146
+ insert_action_group_raw(name, group)
147
+ @action_groups ||= {}
148
+ if group.nil?
149
+ @action_groups.delete(name)
150
+ else
151
+ @action_groups[name] = group
152
+ end
153
+ end
154
+
147
155
  private
148
- def initialize_post
156
+ def initialize_template
149
157
  klass = self.class
150
158
  return unless klass.have_template?
151
159
  return unless respond_to?(:init_template)
@@ -344,14 +344,12 @@ class ToolpaletteDemo
344
344
  group = Gtk::ToolItemGroup.new("Radio Item")
345
345
  @palette.add(group)
346
346
 
347
- toggle_group = nil
348
-
347
+ item = nil
349
348
  (1..10).each do |i|
350
349
  label = "##{i}"
351
- item = Gtk::RadioToolButton.new(toggle_group)
350
+ item = Gtk::RadioToolButton.new(item)
352
351
  item.label = label
353
- group .insert(item, -1)
354
- toggle_group = item.group
352
+ group.insert(item, -1)
355
353
  end
356
354
  end
357
355
 
@@ -0,0 +1,103 @@
1
+ # Copyright (C) 2022 Ruby-GNOME Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestGtkAccelMap < Test::Unit::TestCase
18
+ class << self
19
+ def startup
20
+ Gtk::AccelMap.add_entry("<category1>/a",
21
+ Gdk::Keyval::KEY_a,
22
+ 0)
23
+ Gtk::AccelMap.add_entry("<category2>/b",
24
+ Gdk::Keyval::KEY_b,
25
+ 0)
26
+ Gtk::AccelMap.add_filter("*category1*")
27
+ end
28
+ end
29
+
30
+ sub_test_case("#each") do
31
+ def test_default
32
+ values = []
33
+ Gtk::AccelMap.each do |*args|
34
+ values << args
35
+ end
36
+ assert_equal([
37
+ [
38
+ "<category2>/b",
39
+ Gdk::Keyval::KEY_b,
40
+ Gdk::ModifierType.new(0),
41
+ false,
42
+ ],
43
+ ],
44
+ values)
45
+ end
46
+
47
+ test("filter: true") do
48
+ values = []
49
+ Gtk::AccelMap.each(filter: true) do |*args|
50
+ values << args
51
+ end
52
+ assert_equal([
53
+ [
54
+ "<category2>/b",
55
+ Gdk::Keyval::KEY_b,
56
+ Gdk::ModifierType.new(0),
57
+ false,
58
+ ],
59
+ ],
60
+ values)
61
+ end
62
+
63
+ test("filter: false") do
64
+ values = []
65
+ Gtk::AccelMap.each(filter: false) do |*args|
66
+ values << args
67
+ end
68
+ assert_equal([
69
+ [
70
+ "<category2>/b",
71
+ Gdk::Keyval::KEY_b,
72
+ Gdk::ModifierType.new(0),
73
+ false,
74
+ ],
75
+ [
76
+ "<category1>/a",
77
+ Gdk::Keyval::KEY_a,
78
+ Gdk::ModifierType.new(0),
79
+ false,
80
+ ],
81
+ ],
82
+ values)
83
+ end
84
+
85
+ def test_enumerator
86
+ assert_equal([
87
+ [
88
+ "<category2>/b",
89
+ Gdk::Keyval::KEY_b,
90
+ Gdk::ModifierType.new(0),
91
+ false,
92
+ ],
93
+ [
94
+ "<category1>/a",
95
+ Gdk::Keyval::KEY_a,
96
+ Gdk::ModifierType.new(0),
97
+ false,
98
+ ],
99
+ ],
100
+ Gtk::AccelMap.each(filter: false).to_a)
101
+ end
102
+ end
103
+ end
@@ -250,15 +250,6 @@ EOX
250
250
  EOX
251
251
  end
252
252
 
253
- def ui_definition_with_signal
254
- <<-EOX
255
- <interface>
256
- <object class="GtkWindow" id="main-window">
257
- </object>
258
- </interface>
259
- EOX
260
- end
261
-
262
253
  def ui_definition_file
263
254
  xml = Tempfile.new("Gtk::Builder")
264
255
  xml.print(ui_definition)
@@ -8,11 +8,13 @@ class TestGtkIconTheme < Test::Unit::TestCase
8
8
  def test_choose_icon
9
9
  assert_nil(@theme.choose_icon("non-existent", 100))
10
10
 
11
- icon = @theme.choose_icon("face-cool", 10)
11
+ icon = @theme.choose_icon("face-cool-symbolic", 10)
12
12
  assert_not_nil(icon)
13
- assert_match(/face-cool/, icon.filename)
13
+ assert_match(/face-cool-symbolic/, icon.filename)
14
14
 
15
- assert_not_nil(@theme.choose_icon("face-cool", 29, [:use_builtin, :no_svg]))
15
+ assert_not_nil(@theme.choose_icon("face-cool-symbolic",
16
+ 29,
17
+ [:use_builtin]))
16
18
  end
17
19
 
18
20
  def test_contexts
@@ -21,7 +23,7 @@ class TestGtkIconTheme < Test::Unit::TestCase
21
23
 
22
24
  class TestIcons < self
23
25
  def test_no_argument
24
- assert_operator(@theme.icons, :include?, "face-cool")
26
+ assert_operator(@theme.icons, :include?, "face-cool-symbolic")
25
27
  end
26
28
 
27
29
  def test_context
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2008-2020 Ruby-GNOME Project Team
1
+ # Copyright (C) 2008-2022 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -242,7 +242,13 @@ class TestGtkWidget < Test::Unit::TestCase
242
242
  type_register "BindTemplateChildNothing"
243
243
 
244
244
  singleton_class.send(:define_method, :init) do
245
+ super()
245
246
  set_template(:data => data)
247
+ set_connect_func do |handler_name|
248
+ lambda do
249
+ # Do nothing
250
+ end
251
+ end
246
252
  end
247
253
  end
248
254
  widget = widget_class.new
@@ -255,8 +261,14 @@ class TestGtkWidget < Test::Unit::TestCase
255
261
  type_register "BindTemplateChildBind"
256
262
 
257
263
  singleton_class.send(:define_method, :init) do
264
+ super()
258
265
  set_template(:data => data)
259
266
  bind_template_child(:label)
267
+ set_connect_func do |handler_name|
268
+ lambda do
269
+ # Do nothing
270
+ end
271
+ end
260
272
  end
261
273
  end
262
274
  widget = widget_class.new
@@ -278,6 +290,7 @@ class TestGtkWidget < Test::Unit::TestCase
278
290
  type_register "SetConnectFunc"
279
291
 
280
292
  singleton_class.send(:define_method, :init) do
293
+ super()
281
294
  set_template(:data => data)
282
295
  bind_template_child(:label)
283
296
  set_connect_func do |handler_name|
@@ -292,4 +305,23 @@ class TestGtkWidget < Test::Unit::TestCase
292
305
  assert_equal(["on_move_cursor"], handler_names)
293
306
  end
294
307
  end
308
+
309
+ def test_gc_action_group
310
+ GC.start
311
+ n_alive_action_groups_before =
312
+ ObjectSpace.each_object(Gio::SimpleActionGroup) {}
313
+ n_tries = 100
314
+ n_tries.times do |i|
315
+ action_prefix = "test#{i}"
316
+ action_group = Gio::SimpleActionGroup.new
317
+ @widget.insert_action_group(action_prefix, action_group)
318
+ end
319
+ GC.start
320
+ n_alive_action_groups_after =
321
+ ObjectSpace.each_object(Gio::SimpleActionGroup) {}
322
+ n_alive_action_groups =
323
+ n_alive_action_groups_after -
324
+ n_alive_action_groups_before
325
+ assert_equal(n_tries, n_alive_action_groups)
326
+ end
295
327
  end
metadata CHANGED
@@ -1,85 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gtk3
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-17 00:00:00.000000000 Z
11
+ date: 2022-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: gio2
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '='
18
- - !ruby/object:Gem::Version
19
- version: 3.5.1
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '='
25
- - !ruby/object:Gem::Version
26
- version: 3.5.1
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: atk
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - '='
32
18
  - !ruby/object:Gem::Version
33
- version: 3.5.1
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '='
39
- - !ruby/object:Gem::Version
40
- version: 3.5.1
41
- - !ruby/object:Gem::Dependency
42
- name: pango
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '='
46
- - !ruby/object:Gem::Version
47
- version: 3.5.1
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '='
53
- - !ruby/object:Gem::Version
54
- version: 3.5.1
55
- - !ruby/object:Gem::Dependency
56
- name: gdk_pixbuf2
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 3.5.1
19
+ version: 4.0.0
62
20
  type: :runtime
63
21
  prerelease: false
64
22
  version_requirements: !ruby/object:Gem::Requirement
65
23
  requirements:
66
24
  - - '='
67
25
  - !ruby/object:Gem::Version
68
- version: 3.5.1
26
+ version: 4.0.0
69
27
  - !ruby/object:Gem::Dependency
70
28
  name: gdk3
71
29
  requirement: !ruby/object:Gem::Requirement
72
30
  requirements:
73
31
  - - '='
74
32
  - !ruby/object:Gem::Version
75
- version: 3.5.1
33
+ version: 4.0.0
76
34
  type: :runtime
77
35
  prerelease: false
78
36
  version_requirements: !ruby/object:Gem::Requirement
79
37
  requirements:
80
38
  - - '='
81
39
  - !ruby/object:Gem::Version
82
- version: 3.5.1
40
+ version: 4.0.0
83
41
  description: Ruby/GTK3 is a Ruby binding of GTK+-3.x.
84
42
  email: ruby-gnome2-devel-en@lists.sourceforge.net
85
43
  executables: []
@@ -92,6 +50,7 @@ files:
92
50
  - Rakefile
93
51
  - ext/gtk3/depend
94
52
  - ext/gtk3/extconf.rb
53
+ - ext/gtk3/rb-gtk3-accel-map.c
95
54
  - ext/gtk3/rb-gtk3-cell-layout.c
96
55
  - ext/gtk3/rb-gtk3-container.c
97
56
  - ext/gtk3/rb-gtk3-private.h
@@ -553,6 +512,7 @@ files:
553
512
  - test/test-gtk-about-dialog.rb
554
513
  - test/test-gtk-accel-group.rb
555
514
  - test/test-gtk-accel-key.rb
515
+ - test/test-gtk-accel-map.rb
556
516
  - test/test-gtk-accessible.rb
557
517
  - test/test-gtk-action-bar.rb
558
518
  - test/test-gtk-action-group.rb
@@ -639,7 +599,7 @@ homepage: https://ruby-gnome2.osdn.jp/
639
599
  licenses:
640
600
  - LGPL-2.1+
641
601
  metadata: {}
642
- post_install_message:
602
+ post_install_message:
643
603
  rdoc_options: []
644
604
  require_paths:
645
605
  - lib
@@ -655,7 +615,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
655
615
  version: '0'
656
616
  requirements: []
657
617
  rubygems_version: 3.4.0.dev
658
- signing_key:
618
+ signing_key:
659
619
  specification_version: 4
660
620
  summary: Ruby/GTK3 is a Ruby binding of GTK+-3.x.
661
621
  test_files: []