glib2 3.4.6 → 3.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cc0f7e879583c78a16beaf5bd526103aff1c1cd8ed38795bcd78279cac04f60
4
- data.tar.gz: e8a36e9d680bd8e7678b9c42fde7048e64d21e34231b9b6d852a295e7faa4663
3
+ metadata.gz: cffba9b11672f9cdf8f80f4a9df6fad0227fd33c0a884a1de7bacaa4c8e51a9c
4
+ data.tar.gz: e1bc46a3573d04e5e2dc2d13063837e957da5649d326d255d0417ef13d57c1ea
5
5
  SHA512:
6
- metadata.gz: dd7c4bfa0c976dd0a99b5082c6758a7a0e3ffc899bf5c4449d2e874e71e0dbc1e9527c2a0260d91f8a9618d9cc62ebccf9605b8095ce9f5febdcb8fafd04ca6d
7
- data.tar.gz: 5aa55268dd1afe305f289fbed40e758392d553fdf09260b3e072c7944574b462bbc1167a9720daa20786bbe742cbf68163b7c586512bd106dca4b7adf7b7198b
6
+ metadata.gz: b639b7b657da8950b889c91c6ab6617876ad92b0d6949e28f5d3cb727f5e9808a39d53c7a802217fde933d1d78c29bde0010f2a79c8cfdf965066275c5dbfd3c
7
+ data.tar.gz: 80b94efc748df78da77c809904256be846f7cbc2b85406de9e753d65ca0f79548d19d3c72ece9604b369ba291444c1a4e00786feb32e042b4d1d8a24cbf2a947
data/ext/glib2/rbglib.h CHANGED
@@ -33,7 +33,7 @@ G_BEGIN_DECLS
33
33
 
34
34
  #define RBGLIB_MAJOR_VERSION 3
35
35
  #define RBGLIB_MINOR_VERSION 4
36
- #define RBGLIB_MICRO_VERSION 6
36
+ #define RBGLIB_MICRO_VERSION 7
37
37
 
38
38
  #ifndef RB_ZALLOC
39
39
  # ifdef ZALLOC
@@ -109,9 +109,13 @@ rbgerr_define_gerror(GQuark domain, const gchar *name, VALUE module, VALUE paren
109
109
  {
110
110
  VALUE error_class;
111
111
  VALUE code_classes;
112
+ VALUE rb_domain = rb_str_new_cstr(g_quark_to_string(domain));
113
+ rbgutil_string_set_utf8_encoding(rb_domain);
112
114
 
113
115
  error_class = rb_define_class_under(module, name, parent);
114
- rb_include_module(error_class, error_info);
116
+ rb_ivar_set(error_class, id_code, Qnil);
117
+ rb_ivar_set(error_class, id_domain, rb_domain);
118
+ rb_prepend_module(error_class, error_info);
115
119
 
116
120
  rb_hash_aset(gerror_table, UINT2NUM(domain), error_class);
117
121
 
@@ -142,6 +146,8 @@ rbgerr_define_gerror(GQuark domain, const gchar *name, VALUE module, VALUE paren
142
146
  code_class_name,
143
147
  error_class);
144
148
  g_free(code_class_name);
149
+ rb_ivar_set(code_class, id_code, INT2NUM(entry->value));
150
+ rb_ivar_set(code_class, id_domain, rb_domain);
145
151
  rb_hash_aset(code_classes, INT2NUM(entry->value), code_class);
146
152
  }
147
153
 
@@ -151,6 +157,15 @@ rbgerr_define_gerror(GQuark domain, const gchar *name, VALUE module, VALUE paren
151
157
  return error_class;
152
158
  }
153
159
 
160
+ static VALUE
161
+ rg_initialize(int argc, VALUE *argv, VALUE self)
162
+ {
163
+ VALUE klass = rb_obj_class(self);
164
+ rb_ivar_set(self, id_code, rb_ivar_get(klass, id_code));
165
+ rb_ivar_set(self, id_domain, rb_ivar_get(klass, id_domain));
166
+ return rb_call_super(argc, argv);
167
+ }
168
+
154
169
  static VALUE
155
170
  rbg_error_to_ruby(const GValue *from)
156
171
  {
@@ -168,9 +183,11 @@ Init_glib_error(void)
168
183
  gerror_table = rb_hash_new();
169
184
  rb_global_variable(&gerror_table);
170
185
 
186
+ #define RG_TARGET_NAMESPACE error_info
171
187
  error_info = rb_define_module_under(mGLib, "ErrorInfo");
172
188
  rb_define_attr(error_info, "code", TRUE, FALSE);
173
189
  rb_define_attr(error_info, "domain", TRUE, FALSE);
190
+ RG_DEF_METHOD(initialize, -1);
174
191
 
175
192
  generic_error = rb_define_class_under(mGLib, "Error", rb_eRuntimeError);
176
193
  rb_include_module(generic_error, error_info);
@@ -70,11 +70,10 @@ rbglib_log_handler(const gchar *log_domain, GLogLevelFlags log_level, const gcha
70
70
  if (rb_during_gc()) {
71
71
  g_printerr("\tfrom %s:%d\n", rb_sourcefile(), rb_sourceline());
72
72
  } else {
73
- VALUE backtrace;
74
-
75
- backtrace = rb_funcall(rb_mKernel, rb_intern("caller"), 0);
76
- rb_iterate(rb_each, backtrace,
77
- rbg_printerr, Qnil);
73
+ VALUE backtrace = rb_funcall(rb_mKernel, rb_intern("caller"), 0);
74
+ ID id_each;
75
+ CONST_ID(id_each, "each");
76
+ rb_block_call(backtrace, id_each, 0, NULL, rbg_printerr, Qnil);
78
77
  }
79
78
  } else {
80
79
  g_log_default_handler(log_domain, log_level, message, user_data);
@@ -364,7 +364,9 @@ static VALUE
364
364
  gobj_new_body(VALUE rb_arg)
365
365
  {
366
366
  struct param_setup_arg *arg = (struct param_setup_arg *)rb_arg;
367
- rb_iterate(rb_each, (VALUE)arg->params_hash, _params_setup, (VALUE)arg);
367
+ ID id_each;
368
+ CONST_ID(id_each, "each");
369
+ rb_block_call(arg->params_hash, id_each, 0, NULL, _params_setup, (VALUE)arg);
368
370
  return (VALUE)g_object_newv(G_TYPE_FROM_CLASS(arg->gclass),
369
371
  arg->param_size, arg->params);
370
372
  }
@@ -719,7 +719,7 @@ gobj_s_signal_handler_attach(VALUE klass,
719
719
  {
720
720
  const RGObjClassInfo *cinfo = rbgobj_lookup_class(klass);
721
721
  guint signal_id = rbgobj_signal_get_raw(rb_signal)->signal_id;
722
- VALUE handler_name = RVAL2CSTR(rb_handler_name);
722
+ const gchar *handler_name = RVAL2CSTR(rb_handler_name);
723
723
  VALUE proc = rb_block_proc();
724
724
  GClosure* rclosure = g_rclosure_new(proc,
725
725
  Qnil,
@@ -0,0 +1,41 @@
1
+ # Copyright (C) 2021 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 TestError < Test::Unit::TestCase
18
+ sub_test_case("error class") do
19
+ def test_code
20
+ assert_equal(nil,
21
+ GLib::BookmarkFileError.new.code)
22
+ end
23
+
24
+ def test_domain
25
+ assert_equal("g-bookmark-file-error-quark",
26
+ GLib::BookmarkFileError.new.domain)
27
+ end
28
+ end
29
+
30
+ sub_test_case("error code class") do
31
+ def test_code
32
+ assert_equal(GLib::BookmarkFileError::READ,
33
+ GLib::BookmarkFileError::Read.new.code)
34
+ end
35
+
36
+ def test_domain
37
+ assert_equal("g-bookmark-file-error-quark",
38
+ GLib::BookmarkFileError::Read.new.domain)
39
+ end
40
+ end
41
+ end
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: 3.4.6
4
+ version: 3.4.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: 2021-07-16 00:00:00.000000000 Z
11
+ date: 2021-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pkg-config
@@ -177,6 +177,7 @@ files:
177
177
  - test/test-bytes.rb
178
178
  - test/test-date-time.rb
179
179
  - test/test-enum.rb
180
+ - test/test-error.rb
180
181
  - test/test-file-utils.rb
181
182
  - test/test-flags.rb
182
183
  - test/test-glib2.rb