glib2 3.4.3 → 3.5.1
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/README.md +5 -5
- data/ext/glib2/extconf.rb +1 -5
- data/ext/glib2/glib-enum-types.c +1233 -0
- data/ext/glib2/glib-enum-types.h +154 -0
- data/ext/glib2/glib2.def +2 -0
- data/ext/glib2/rbglib-bytes.c +1 -5
- data/ext/glib2/rbglib-gc.c +98 -52
- data/ext/glib2/rbglib-variant-type.c +1 -5
- data/ext/glib2/rbglib-variant.c +6 -7
- data/ext/glib2/rbglib.c +68 -1
- data/ext/glib2/rbglib.h +13 -3
- data/ext/glib2/rbglib_bookmarkfile.c +1 -1
- data/ext/glib2/rbglib_datetime.c +1 -5
- data/ext/glib2/rbglib_error.c +39 -12
- data/ext/glib2/rbglib_fileutils.c +1 -17
- data/ext/glib2/rbglib_iochannel.c +4 -4
- data/ext/glib2/rbglib_keyfile.c +1 -35
- data/ext/glib2/rbglib_maincontext.c +6 -32
- data/ext/glib2/rbglib_mainloop.c +2 -17
- data/ext/glib2/rbglib_matchinfo.c +1 -5
- data/ext/glib2/rbglib_messages.c +4 -5
- data/ext/glib2/rbglib_pollfd.c +1 -25
- data/ext/glib2/rbglib_regex.c +1 -13
- data/ext/glib2/rbglib_source.c +1 -39
- data/ext/glib2/rbglib_spawn.c +5 -10
- data/ext/glib2/rbglib_spawnerror.c +2 -2
- data/ext/glib2/rbglib_threads.c +2 -15
- data/ext/glib2/rbglib_timezone.c +1 -5
- data/ext/glib2/rbglib_unichar.c +46 -5
- data/ext/glib2/rbglib_unicode.c +1 -18
- data/ext/glib2/rbglib_utils.c +1 -14
- data/ext/glib2/rbglib_win32.c +3 -7
- data/ext/glib2/rbgobj_binding.c +1 -7
- data/ext/glib2/rbgobj_boxed.c +1 -1
- data/ext/glib2/rbgobj_closure.c +22 -9
- data/ext/glib2/rbgobj_enums.c +3 -2
- data/ext/glib2/rbgobj_flags.c +1 -1
- data/ext/glib2/rbgobj_object.c +117 -106
- data/ext/glib2/rbgobj_param.c +3 -9
- data/ext/glib2/rbgobj_paramspecs.c +6 -24
- data/ext/glib2/rbgobj_signal.c +105 -93
- data/ext/glib2/rbgobj_strv.c +2 -2
- data/ext/glib2/rbgobj_type.c +58 -67
- data/ext/glib2/rbgobj_typeinterface.c +38 -2
- data/ext/glib2/rbgobj_value.c +23 -8
- data/ext/glib2/rbgobj_valuetypes.c +14 -62
- data/ext/glib2/rbgobject.c +4 -6
- data/ext/glib2/rbgobject.h +2 -27
- data/ext/glib2/rbgprivate.h +10 -6
- data/ext/glib2/rbgutil.h +3 -2
- data/ext/glib2/rbgutil_callback.c +30 -27
- data/lib/glib2/deprecated.rb +22 -1
- data/lib/glib2.rb +54 -3
- data/lib/mkmf-gnome.rb +7 -6
- data/test/glib-test-utils.rb +22 -3
- data/test/run-test.rb +49 -15
- data/test/test-binding.rb +1 -11
- data/test/test-bytes.rb +1 -5
- data/test/test-date-time.rb +1 -3
- data/test/{glib-test-init.rb → test-error.rb} +25 -3
- data/test/test-file-utils.rb +1 -32
- data/test/test-iochannel.rb +3 -5
- data/test/test-key-file.rb +5 -6
- data/test/test-match-info.rb +1 -5
- data/test/test-regex.rb +1 -5
- data/test/test-source.rb +1 -14
- data/test/test-spawn.rb +4 -1
- data/test/test-time-zone.rb +1 -5
- data/test/test-timeout.rb +2 -3
- data/test/test-unicode.rb +16 -12
- data/test/test-utils.rb +2 -8
- data/test/test-variant-type.rb +1 -3
- data/test/test-win32.rb +6 -6
- metadata +6 -5
- data/ext/glib2/rbgobj_valuearray.c +0 -100
data/ext/glib2/rbglib_error.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2004 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -23,12 +23,19 @@
|
|
23
23
|
#include <ctype.h>
|
24
24
|
|
25
25
|
static ID id_code;
|
26
|
+
static ID id_CODE;
|
27
|
+
static const char *name_CODE = "CODE";
|
26
28
|
static ID id_domain;
|
27
|
-
static ID
|
29
|
+
static ID id_DOMAIN;
|
30
|
+
static const char *name_DOMAIN = "DOMAIN";
|
31
|
+
static ID id_CODE_CLASSES;
|
32
|
+
static const char *name_CODE_CLASSES = "CODE_CLASSES";
|
28
33
|
static VALUE gerror_table;
|
29
34
|
static VALUE generic_error;
|
30
35
|
static VALUE error_info;
|
31
36
|
|
37
|
+
G_DEFINE_QUARK(ruby-error-quark, rbgerr_ruby_error)
|
38
|
+
|
32
39
|
VALUE
|
33
40
|
rbgerr_gerror2exception(GError *error)
|
34
41
|
{
|
@@ -42,13 +49,9 @@ rbgerr_gerror2exception(GError *error)
|
|
42
49
|
exception_klass = rb_hash_aref(gerror_table, UINT2NUM(error->domain));
|
43
50
|
if (NIL_P(exception_klass)) {
|
44
51
|
exception_klass = generic_error;
|
45
|
-
} else {
|
46
|
-
VALUE
|
47
|
-
VALUE code_classes;
|
48
|
-
code_classes = rb_ivar_get(exception_klass, id_code_classes);
|
49
|
-
if (!NIL_P(code_classes)) {
|
50
|
-
code_class = rb_hash_aref(code_classes, INT2NUM(error->code));
|
51
|
-
}
|
52
|
+
} else if (rb_const_defined_at(exception_klass, id_CODE_CLASSES)) {
|
53
|
+
VALUE code_classes = rb_const_get(exception_klass, id_CODE_CLASSES);
|
54
|
+
VALUE code_class = rb_hash_aref(code_classes, INT2NUM(error->code));
|
52
55
|
if (!NIL_P(code_class)) {
|
53
56
|
exception_klass = code_class;
|
54
57
|
}
|
@@ -107,14 +110,19 @@ rbgerr_define_gerror(GQuark domain, const gchar *name, VALUE module, VALUE paren
|
|
107
110
|
{
|
108
111
|
VALUE error_class;
|
109
112
|
VALUE code_classes;
|
113
|
+
VALUE rb_domain = rb_str_new_cstr(g_quark_to_string(domain));
|
114
|
+
rbgutil_string_set_utf8_encoding(rb_domain);
|
115
|
+
rb_obj_freeze(rb_domain);
|
110
116
|
|
111
117
|
error_class = rb_define_class_under(module, name, parent);
|
112
|
-
|
118
|
+
rb_define_const(error_class, name_CODE, Qnil);
|
119
|
+
rb_define_const(error_class, name_DOMAIN, rb_domain);
|
120
|
+
rb_prepend_module(error_class, error_info);
|
113
121
|
|
114
122
|
rb_hash_aset(gerror_table, UINT2NUM(domain), error_class);
|
115
123
|
|
116
124
|
code_classes = rb_hash_new();
|
117
|
-
|
125
|
+
rb_define_const(error_class, name_CODE_CLASSES, code_classes);
|
118
126
|
|
119
127
|
if (gtype != G_TYPE_INVALID) {
|
120
128
|
GEnumClass* gclass = g_type_class_ref(gtype);
|
@@ -140,15 +148,28 @@ rbgerr_define_gerror(GQuark domain, const gchar *name, VALUE module, VALUE paren
|
|
140
148
|
code_class_name,
|
141
149
|
error_class);
|
142
150
|
g_free(code_class_name);
|
151
|
+
rb_define_const(code_class, name_CODE, INT2NUM(entry->value));
|
152
|
+
rb_define_const(code_class, name_DOMAIN, rb_domain);
|
143
153
|
rb_hash_aset(code_classes, INT2NUM(entry->value), code_class);
|
144
154
|
}
|
145
155
|
|
146
156
|
g_type_class_unref(gclass);
|
147
157
|
}
|
148
158
|
|
159
|
+
rb_obj_freeze(code_classes);
|
160
|
+
|
149
161
|
return error_class;
|
150
162
|
}
|
151
163
|
|
164
|
+
static VALUE
|
165
|
+
rg_initialize(int argc, VALUE *argv, VALUE self)
|
166
|
+
{
|
167
|
+
VALUE klass = rb_obj_class(self);
|
168
|
+
rb_ivar_set(self, id_code, rb_const_get(klass, id_CODE));
|
169
|
+
rb_ivar_set(self, id_domain, rb_const_get(klass, id_DOMAIN));
|
170
|
+
return rb_call_super(argc, argv);
|
171
|
+
}
|
172
|
+
|
152
173
|
static VALUE
|
153
174
|
rbg_error_to_ruby(const GValue *from)
|
154
175
|
{
|
@@ -161,16 +182,22 @@ void
|
|
161
182
|
Init_glib_error(void)
|
162
183
|
{
|
163
184
|
id_code = rb_intern("@code");
|
185
|
+
id_CODE = rb_intern(name_CODE);
|
164
186
|
id_domain = rb_intern("@domain");
|
165
|
-
|
187
|
+
id_DOMAIN = rb_intern(name_DOMAIN);
|
188
|
+
id_CODE_CLASSES = rb_intern(name_CODE_CLASSES);
|
166
189
|
gerror_table = rb_hash_new();
|
167
190
|
rb_global_variable(&gerror_table);
|
168
191
|
|
192
|
+
#define RG_TARGET_NAMESPACE error_info
|
169
193
|
error_info = rb_define_module_under(mGLib, "ErrorInfo");
|
170
194
|
rb_define_attr(error_info, "code", TRUE, FALSE);
|
171
195
|
rb_define_attr(error_info, "domain", TRUE, FALSE);
|
196
|
+
RG_DEF_METHOD(initialize, -1);
|
172
197
|
|
173
198
|
generic_error = rb_define_class_under(mGLib, "Error", rb_eRuntimeError);
|
199
|
+
rb_define_const(generic_error, name_CODE, Qnil);
|
200
|
+
rb_define_const(generic_error, name_DOMAIN, Qnil);
|
174
201
|
rb_include_module(generic_error, error_info);
|
175
202
|
}
|
176
203
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011 Ruby-
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2004 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -49,15 +49,6 @@ void g_dir_rewind (GDir *dir);
|
|
49
49
|
void g_dir_close (GDir *dir);
|
50
50
|
*/
|
51
51
|
|
52
|
-
#if GLIB_CHECK_VERSION(2, 16, 0)
|
53
|
-
static VALUE
|
54
|
-
rbglib_m_format_size_for_display(G_GNUC_UNUSED VALUE self, VALUE size)
|
55
|
-
{
|
56
|
-
return CSTR2RVAL_FREE(g_format_size_for_display(NUM2OFFT(size)));
|
57
|
-
}
|
58
|
-
#endif
|
59
|
-
|
60
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
61
52
|
static VALUE
|
62
53
|
rbglib_m_format_size(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
63
54
|
{
|
@@ -76,7 +67,6 @@ rbglib_m_format_size(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
76
67
|
RVAL2GFORMATSIZEFLAGS(rb_flags)));
|
77
68
|
}
|
78
69
|
}
|
79
|
-
#endif
|
80
70
|
|
81
71
|
void
|
82
72
|
Init_glib_fileutils(void)
|
@@ -108,12 +98,6 @@ Init_glib_fileutils(void)
|
|
108
98
|
rb_define_const(RG_TARGET_NAMESPACE, "PERM", INT2NUM(G_FILE_ERROR_PERM));
|
109
99
|
rb_define_const(RG_TARGET_NAMESPACE, "FAILED", INT2NUM(G_FILE_ERROR_FAILED));
|
110
100
|
|
111
|
-
#if GLIB_CHECK_VERSION(2, 16, 0)
|
112
|
-
rbg_define_singleton_method(mGLib, "format_size_for_display",
|
113
|
-
rbglib_m_format_size_for_display, 1);
|
114
|
-
#endif
|
115
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
116
101
|
rbg_define_singleton_method(mGLib, "format_size",
|
117
102
|
rbglib_m_format_size, -1);
|
118
|
-
#endif
|
119
103
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2005 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -84,7 +84,7 @@ rg_initialize(gint argc, VALUE *argv, VALUE self)
|
|
84
84
|
}
|
85
85
|
|
86
86
|
static VALUE
|
87
|
-
|
87
|
+
ioc_shutdown(VALUE self)
|
88
88
|
{
|
89
89
|
GError* err = NULL;
|
90
90
|
GIOStatus status = g_io_channel_shutdown(_SELF(self), TRUE, &err);
|
@@ -114,7 +114,7 @@ rg_s_open(gint argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
114
114
|
#endif
|
115
115
|
} else {
|
116
116
|
GError* err = NULL;
|
117
|
-
io = g_io_channel_new_file(RVAL2CSTR(arg1),
|
117
|
+
io = g_io_channel_new_file(RVAL2CSTR(arg1),
|
118
118
|
NIL_P(arg2) ? "r" : RVAL2CSTR(arg2), &err);
|
119
119
|
|
120
120
|
if (err != NULL) RAISE_GERROR(err);
|
@@ -123,7 +123,7 @@ rg_s_open(gint argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
123
123
|
rio = BOXED2RVAL(io, G_TYPE_IO_CHANNEL);
|
124
124
|
|
125
125
|
if (rb_block_given_p()) {
|
126
|
-
return rb_ensure(rb_yield, rio,
|
126
|
+
return rb_ensure(rb_yield, rio, ioc_shutdown, rio);
|
127
127
|
}
|
128
128
|
return rio;
|
129
129
|
}
|
data/ext/glib2/rbglib_keyfile.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2006 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -21,34 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "rbgprivate.h"
|
23
23
|
|
24
|
-
#if !GLIB_CHECK_VERSION(2,31,2)
|
25
|
-
/************************************************/
|
26
|
-
static GKeyFile*
|
27
|
-
keyfile_copy(const GKeyFile* keyfile)
|
28
|
-
{
|
29
|
-
// GKeyFile* new_keyfile;
|
30
|
-
g_return_val_if_fail (keyfile != NULL, NULL);
|
31
|
-
/*
|
32
|
-
new_keyfile = g_key_file_new();
|
33
|
-
*new_keyfile = (GKeyFile*)*keyfile;
|
34
|
-
return new_keyfile;
|
35
|
-
*/
|
36
|
-
return (GKeyFile*)keyfile;
|
37
|
-
}
|
38
|
-
|
39
|
-
GType
|
40
|
-
g_key_file_get_type(void)
|
41
|
-
{
|
42
|
-
static GType our_type = 0;
|
43
|
-
if (our_type == 0)
|
44
|
-
our_type = g_boxed_type_register_static("GKeyFile",
|
45
|
-
(GBoxedCopyFunc)keyfile_copy,
|
46
|
-
(GBoxedFreeFunc)g_key_file_free);
|
47
|
-
return our_type;
|
48
|
-
}
|
49
|
-
/************************************************/
|
50
|
-
#endif
|
51
|
-
|
52
24
|
#define RG_TARGET_NAMESPACE cKeyFile
|
53
25
|
#define _SELF(self) ((GKeyFile*)(RVAL2BOXED(self, G_TYPE_KEY_FILE)))
|
54
26
|
|
@@ -140,7 +112,6 @@ rg_load_from_data_dirs(int argc, VALUE *argv, VALUE self)
|
|
140
112
|
return full_path ? CSTR2RVAL(full_path) : Qnil;
|
141
113
|
}
|
142
114
|
|
143
|
-
#if GLIB_CHECK_VERSION(2, 14, 0)
|
144
115
|
static VALUE
|
145
116
|
rg_load_from_dirs(int argc, VALUE *argv, VALUE self)
|
146
117
|
{
|
@@ -175,7 +146,6 @@ rg_load_from_dirs(int argc, VALUE *argv, VALUE self)
|
|
175
146
|
|
176
147
|
return CSTR2RVAL(full_path);
|
177
148
|
}
|
178
|
-
#endif
|
179
149
|
|
180
150
|
static VALUE
|
181
151
|
rg_to_data(VALUE self)
|
@@ -670,9 +640,7 @@ Init_glib_keyfile(void)
|
|
670
640
|
RG_DEF_METHOD(load_from_file, -1);
|
671
641
|
RG_DEF_METHOD(load_from_data, -1);
|
672
642
|
RG_DEF_METHOD(load_from_data_dirs, -1);
|
673
|
-
#if GLIB_CHECK_VERSION(2, 14, 0)
|
674
643
|
RG_DEF_METHOD(load_from_dirs, -1);
|
675
|
-
#endif
|
676
644
|
RG_DEF_METHOD(to_data, 0);
|
677
645
|
RG_DEF_METHOD(start_group, 0);
|
678
646
|
RG_DEF_METHOD(groups, 0);
|
@@ -711,7 +679,6 @@ Init_glib_keyfile(void)
|
|
711
679
|
G_DEF_CLASS(G_TYPE_KEY_FILE_FLAGS, "Flags", RG_TARGET_NAMESPACE);
|
712
680
|
G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, G_TYPE_KEY_FILE_FLAGS, "G_KEY_FILE_");
|
713
681
|
|
714
|
-
#if GLIB_CHECK_VERSION(2, 14, 0)
|
715
682
|
/* Defines for handling freedesktop.org Desktop files */
|
716
683
|
rb_define_const(RG_TARGET_NAMESPACE, "DESKTOP_GROUP", CSTR2RVAL(G_KEY_FILE_DESKTOP_GROUP));
|
717
684
|
|
@@ -760,5 +727,4 @@ Init_glib_keyfile(void)
|
|
760
727
|
CSTR2RVAL(G_KEY_FILE_DESKTOP_TYPE_LINK));
|
761
728
|
rb_define_const(RG_TARGET_NAMESPACE, "DESKTOP_TYPE_DIRECTORY",
|
762
729
|
CSTR2RVAL(G_KEY_FILE_DESKTOP_TYPE_DIRECTORY));
|
763
|
-
#endif
|
764
730
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2005 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -25,7 +25,7 @@
|
|
25
25
|
# include <ruby/thread.h>
|
26
26
|
#endif
|
27
27
|
|
28
|
-
|
28
|
+
GPrivate rg_polling_key = G_PRIVATE_INIT(NULL);
|
29
29
|
|
30
30
|
/*
|
31
31
|
static ID id_poll_func;
|
@@ -87,7 +87,7 @@ rg_poll(GPollFD *ufds, guint nfsd, gint timeout)
|
|
87
87
|
info.timeout = timeout;
|
88
88
|
info.result = 0;
|
89
89
|
|
90
|
-
|
90
|
+
g_private_set(&rg_polling_key, GINT_TO_POINTER(TRUE));
|
91
91
|
if (g_thread_self() == main_thread) {
|
92
92
|
#ifdef HAVE_RB_THREAD_CALL_WITHOUT_GVL
|
93
93
|
rb_thread_call_without_gvl(rg_poll_in_blocking, &info,
|
@@ -99,7 +99,7 @@ rg_poll(GPollFD *ufds, guint nfsd, gint timeout)
|
|
99
99
|
} else {
|
100
100
|
rg_poll_in_blocking_raw(&info);
|
101
101
|
}
|
102
|
-
|
102
|
+
g_private_set(&rg_polling_key, GINT_TO_POINTER(FALSE));
|
103
103
|
|
104
104
|
return info.result;
|
105
105
|
}
|
@@ -148,21 +148,6 @@ source_destroy_notify(gpointer data)
|
|
148
148
|
xfree(info);
|
149
149
|
}
|
150
150
|
|
151
|
-
/*****************************************/
|
152
|
-
#if !GLIB_CHECK_VERSION(2,30,0)
|
153
|
-
GType
|
154
|
-
g_main_context_get_type(void)
|
155
|
-
{
|
156
|
-
static GType our_type = 0;
|
157
|
-
if (our_type == 0)
|
158
|
-
our_type = g_boxed_type_register_static ("GMainContext",
|
159
|
-
(GBoxedCopyFunc)g_main_context_ref,
|
160
|
-
(GBoxedFreeFunc)g_main_context_unref);
|
161
|
-
return our_type;
|
162
|
-
}
|
163
|
-
#endif
|
164
|
-
/*****************************************/
|
165
|
-
|
166
151
|
#define RG_TARGET_NAMESPACE cMainContext
|
167
152
|
#define _SELF(s) ((GMainContext*)RVAL2BOXED(s, G_TYPE_MAIN_CONTEXT))
|
168
153
|
|
@@ -386,26 +371,23 @@ rg_remove_poll(VALUE self, VALUE fd)
|
|
386
371
|
return self;
|
387
372
|
}
|
388
373
|
|
389
|
-
#ifdef HAVE_G_MAIN_DEPTH
|
390
374
|
static VALUE
|
391
375
|
rg_s_depth(G_GNUC_UNUSED VALUE self)
|
392
376
|
{
|
393
377
|
return INT2NUM(g_main_depth());
|
394
378
|
}
|
395
|
-
#endif
|
396
379
|
|
397
380
|
static VALUE
|
398
381
|
timeout_source_new(G_GNUC_UNUSED VALUE self, VALUE interval)
|
399
382
|
{
|
400
383
|
return BOXED2RVAL(g_timeout_source_new(NUM2UINT(interval)), G_TYPE_SOURCE);
|
401
384
|
}
|
402
|
-
|
385
|
+
|
403
386
|
static VALUE
|
404
387
|
timeout_source_new_seconds(G_GNUC_UNUSED VALUE self, VALUE interval)
|
405
388
|
{
|
406
389
|
return BOXED2RVAL(g_timeout_source_new_seconds(NUM2UINT(interval)), G_TYPE_SOURCE);
|
407
390
|
}
|
408
|
-
#endif
|
409
391
|
|
410
392
|
static VALUE
|
411
393
|
timeout_add(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
@@ -431,7 +413,6 @@ timeout_add(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
431
413
|
return rb_id;
|
432
414
|
}
|
433
415
|
|
434
|
-
#if GLIB_CHECK_VERSION(2,14,0)
|
435
416
|
static VALUE
|
436
417
|
timeout_add_seconds(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
437
418
|
{
|
@@ -455,7 +436,6 @@ timeout_add_seconds(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
455
436
|
rbgobj_add_relative(mGLibSource, func);
|
456
437
|
return rb_id;
|
457
438
|
}
|
458
|
-
#endif
|
459
439
|
|
460
440
|
static VALUE
|
461
441
|
idle_source_new(G_GNUC_UNUSED VALUE self)
|
@@ -526,7 +506,7 @@ Init_glib_main_context(void)
|
|
526
506
|
|
527
507
|
id_call = rb_intern("call");
|
528
508
|
|
529
|
-
|
509
|
+
g_private_set(&rg_polling_key, GINT_TO_POINTER(FALSE));
|
530
510
|
|
531
511
|
main_thread = g_thread_self();
|
532
512
|
|
@@ -559,17 +539,11 @@ Init_glib_main_context(void)
|
|
559
539
|
*/
|
560
540
|
RG_DEF_METHOD(add_poll, 2);
|
561
541
|
RG_DEF_METHOD(remove_poll, 1);
|
562
|
-
#ifdef HAVE_G_MAIN_DEPTH
|
563
542
|
RG_DEF_SMETHOD(depth, 0);
|
564
|
-
#endif
|
565
543
|
rbg_define_singleton_method(timeout, "source_new", timeout_source_new, 1);
|
566
|
-
#if GLIB_CHECK_VERSION(2,14,0)
|
567
544
|
rbg_define_singleton_method(timeout, "source_new_seconds", timeout_source_new_seconds, 1);
|
568
|
-
#endif
|
569
545
|
rbg_define_singleton_method(timeout, "add", timeout_add, -1);
|
570
|
-
#if GLIB_CHECK_VERSION(2,14,0)
|
571
546
|
rbg_define_singleton_method(timeout, "add_seconds", timeout_add_seconds, -1);
|
572
|
-
#endif
|
573
547
|
rbg_define_singleton_method(idle, "source_new", idle_source_new, 0);
|
574
548
|
rbg_define_singleton_method(idle, "add", idle_add, -1);
|
575
549
|
|
data/ext/glib2/rbglib_mainloop.c
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
4
|
-
* Copyright (C) 2005,2006
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
|
+
* Copyright (C) 2005,2006 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
7
7
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -21,21 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "rbgprivate.h"
|
23
23
|
|
24
|
-
/*****************************************/
|
25
|
-
#if !GLIB_CHECK_VERSION(2,30,0)
|
26
|
-
GType
|
27
|
-
g_main_loop_get_type(void)
|
28
|
-
{
|
29
|
-
static GType our_type = 0;
|
30
|
-
if (our_type == 0)
|
31
|
-
our_type = g_boxed_type_register_static ("GMainLoop",
|
32
|
-
(GBoxedCopyFunc)g_main_loop_ref,
|
33
|
-
(GBoxedFreeFunc)g_main_loop_unref);
|
34
|
-
return our_type;
|
35
|
-
}
|
36
|
-
#endif
|
37
|
-
/*****************************************/
|
38
|
-
|
39
24
|
#define RG_TARGET_NAMESPACE cMainLoop
|
40
25
|
#define _SELF(s) ((GMainLoop*)RVAL2BOXED(s, G_TYPE_MAIN_LOOP))
|
41
26
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* Copyright (C) 2015-
|
2
|
+
* Copyright (C) 2015-2021 Ruby-GNOME Project Team
|
3
3
|
*
|
4
4
|
* This library is free software; you can redistribute it and/or
|
5
5
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -22,7 +22,6 @@
|
|
22
22
|
#define RG_TARGET_NAMESPACE cMatchInfo
|
23
23
|
#define _SELF(s) ((GMatchInfo*)RVAL2BOXED(s, G_TYPE_MATCH_INFO))
|
24
24
|
|
25
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
26
25
|
static VALUE
|
27
26
|
rg_regex(VALUE self)
|
28
27
|
{
|
@@ -158,12 +157,10 @@ rg_expand_references(VALUE self, VALUE rb_string)
|
|
158
157
|
|
159
158
|
return CSTR2RVAL_FREE(expanded_string);
|
160
159
|
}
|
161
|
-
#endif
|
162
160
|
|
163
161
|
void
|
164
162
|
Init_glib_matchinfo(void)
|
165
163
|
{
|
166
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
167
164
|
VALUE RG_TARGET_NAMESPACE;
|
168
165
|
|
169
166
|
RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_MATCH_INFO, "MatchInfo", mGLib);
|
@@ -179,5 +176,4 @@ Init_glib_matchinfo(void)
|
|
179
176
|
RG_DEF_METHOD(fetch_all, 0);
|
180
177
|
RG_DEF_METHOD(next, 0);
|
181
178
|
RG_DEF_METHOD(expand_references, 1);
|
182
|
-
#endif
|
183
179
|
}
|
data/ext/glib2/rbglib_messages.c
CHANGED
@@ -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
|
-
|
76
|
-
|
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);
|
data/ext/glib2/rbglib_pollfd.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2021 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2005 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -21,30 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "rbgprivate.h"
|
23
23
|
|
24
|
-
#if !GLIB_CHECK_VERSION(2, 36, 0)
|
25
|
-
static GPollFD*
|
26
|
-
pollfd_copy(const GPollFD* pollfd)
|
27
|
-
{
|
28
|
-
GPollFD* new_pollfd;
|
29
|
-
g_return_val_if_fail (pollfd != NULL, NULL);
|
30
|
-
|
31
|
-
new_pollfd = g_new(GPollFD, 1);
|
32
|
-
*new_pollfd = *pollfd;
|
33
|
-
return new_pollfd;
|
34
|
-
}
|
35
|
-
|
36
|
-
GType
|
37
|
-
g_pollfd_get_type(void)
|
38
|
-
{
|
39
|
-
static GType our_type = 0;
|
40
|
-
if (our_type == 0)
|
41
|
-
our_type = g_boxed_type_register_static ("GPollFD",
|
42
|
-
(GBoxedCopyFunc)pollfd_copy,
|
43
|
-
(GBoxedFreeFunc)g_free);
|
44
|
-
return our_type;
|
45
|
-
}
|
46
|
-
#endif
|
47
|
-
|
48
24
|
#define RG_TARGET_NAMESPACE cPollFD
|
49
25
|
#define _SELF(s) ((GPollFD*)RVAL2BOXED(s, G_TYPE_POLLFD))
|
50
26
|
|
data/ext/glib2/rbglib_regex.c
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* Copyright (C) 2015-
|
2
|
+
* Copyright (C) 2015-2021 Ruby-GNOME Project Team
|
3
3
|
*
|
4
4
|
* This library is free software; you can redistribute it and/or
|
5
5
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -136,7 +136,6 @@ rg_split(gint argc, VALUE *argv, VALUE self)
|
|
136
136
|
return STRV2RVAL_FREE(strings);
|
137
137
|
}
|
138
138
|
|
139
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
140
139
|
static VALUE
|
141
140
|
rg_match(gint argc, VALUE *argv, VALUE self)
|
142
141
|
{
|
@@ -191,7 +190,6 @@ rg_match(gint argc, VALUE *argv, VALUE self)
|
|
191
190
|
rb_iv_set(rb_match_info, "@string", rb_frozen_string);
|
192
191
|
return rb_match_info;
|
193
192
|
}
|
194
|
-
#endif
|
195
193
|
|
196
194
|
static VALUE
|
197
195
|
rg_max_backref(VALUE self)
|
@@ -205,7 +203,6 @@ rg_capture_count(VALUE self)
|
|
205
203
|
return INT2NUM(g_regex_get_capture_count(_SELF(self)));
|
206
204
|
}
|
207
205
|
|
208
|
-
#if GLIB_CHECK_VERSION(2, 34, 0)
|
209
206
|
static VALUE
|
210
207
|
rg_has_cr_or_lf_p(VALUE self)
|
211
208
|
{
|
@@ -217,7 +214,6 @@ rg_max_lookbehind(VALUE self)
|
|
217
214
|
{
|
218
215
|
return INT2NUM(g_regex_get_max_lookbehind(_SELF(self)));
|
219
216
|
}
|
220
|
-
#endif
|
221
217
|
|
222
218
|
static VALUE
|
223
219
|
rg_string_number(VALUE self, VALUE string)
|
@@ -225,7 +221,6 @@ rg_string_number(VALUE self, VALUE string)
|
|
225
221
|
return INT2NUM(g_regex_get_string_number(_SELF(self), RVAL2CSTR(string)));
|
226
222
|
}
|
227
223
|
|
228
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
229
224
|
static VALUE
|
230
225
|
rg_match_all(gint argc, VALUE *argv, VALUE self)
|
231
226
|
{
|
@@ -423,7 +418,6 @@ rg_replace(gint argc, VALUE *argv, VALUE self)
|
|
423
418
|
|
424
419
|
return CSTR2RVAL_FREE(modified_string);
|
425
420
|
}
|
426
|
-
#endif
|
427
421
|
|
428
422
|
static VALUE
|
429
423
|
rg_s_escape_string(G_GNUC_UNUSED VALUE self, VALUE string)
|
@@ -472,20 +466,14 @@ Init_glib_regex(void)
|
|
472
466
|
RG_DEF_METHOD(compile_flags, 0);
|
473
467
|
RG_DEF_METHOD(match_flags, 0);
|
474
468
|
RG_DEF_METHOD(split, -1);
|
475
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
476
469
|
RG_DEF_METHOD(match, -1);
|
477
|
-
#endif
|
478
470
|
RG_DEF_METHOD(max_backref, 0);
|
479
471
|
RG_DEF_METHOD(capture_count, 0);
|
480
|
-
#if GLIB_CHECK_VERSION(2, 34, 0)
|
481
472
|
RG_DEF_METHOD_P(has_cr_or_lf, 0);
|
482
473
|
RG_DEF_METHOD(max_lookbehind, 0);
|
483
|
-
#endif
|
484
474
|
RG_DEF_METHOD(string_number, 1);
|
485
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
486
475
|
RG_DEF_METHOD(match_all, -1);
|
487
476
|
RG_DEF_METHOD(replace, -1);
|
488
|
-
#endif
|
489
477
|
|
490
478
|
RG_DEF_SMETHOD(escape_string, 1);
|
491
479
|
RG_DEF_SMETHOD(check_replacement, 1);
|