glib2 3.4.3 → 3.4.4
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/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 +3 -5
- data/ext/glib2/rbglib.c +4 -0
- data/ext/glib2/rbglib.h +4 -1
- data/ext/glib2/rbglib_bookmarkfile.c +1 -1
- data/ext/glib2/rbglib_datetime.c +1 -5
- 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_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_closure.c +22 -9
- data/ext/glib2/rbgobj_object.c +113 -104
- data/ext/glib2/rbgobj_param.c +2 -8
- data/ext/glib2/rbgobj_paramspecs.c +6 -24
- data/ext/glib2/rbgobj_signal.c +81 -48
- data/ext/glib2/rbgobj_strv.c +2 -2
- data/ext/glib2/rbgobj_type.c +57 -67
- data/ext/glib2/rbgobj_value.c +3 -7
- 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 +6 -6
- data/ext/glib2/rbgutil_callback.c +23 -26
- data/lib/glib2/deprecated.rb +22 -1
- data/lib/mkmf-gnome.rb +5 -5
- data/test/glib-test-utils.rb +18 -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/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 +2 -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 +3 -5
- data/ext/glib2/rbgobj_valuearray.c +0 -100
- data/test/glib-test-init.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2df97b279c5c861a8774ed873d2fccfaeefaf0009985875206e41e6645affda
|
4
|
+
data.tar.gz: 458e5179e4eef5bdba682b26efb493ff87867b6f4e69bc34d898a84bb6778639
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bed850bc19ba04a9e9197e23dabc6aa286f535afe2021a89b16f3309e3bad200cbbab65abaf63d42aba3a3a1eec0112cadb72de53617fd90e2dabc0f8a6ef35
|
7
|
+
data.tar.gz: dffb95ad1aeeb6160cb906734df2781a07ded40c7d9a43edb675c6545755f9d2325d9bacdaff3b791db5f491fc328f642221b0ad89d75c306f5cd69c3ba88161
|
data/README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# Ruby/GLib2
|
2
2
|
|
3
|
-
Ruby/GLib2 is a Ruby binding of GLib
|
3
|
+
Ruby/GLib2 is a Ruby binding of GLib 2.48 or later.
|
4
4
|
|
5
5
|
## Requirements
|
6
6
|
|
7
|
-
* Ruby >=
|
8
|
-
* pkg-config.rb: https://github.com/
|
9
|
-
* GLib >= 2.
|
7
|
+
* Ruby >= 2.5: https://www.ruby-lang.org/
|
8
|
+
* pkg-config.rb: https://github.com/ruby-gnome/pkg-config
|
9
|
+
* GLib >= 2.48: https://www.gtk.org/
|
10
10
|
|
11
11
|
## Install
|
12
12
|
|
@@ -16,7 +16,7 @@ gem install glib2
|
|
16
16
|
|
17
17
|
## Copying
|
18
18
|
|
19
|
-
Copyright (c) 2002-
|
19
|
+
Copyright (c) 2002-2021 Ruby-GNOME Project Team
|
20
20
|
|
21
21
|
This program is free software.
|
22
22
|
You can distribute/modify this program under the terms of
|
data/ext/glib2/extconf.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2002-
|
1
|
+
# Copyright (C) 2002-2021 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
|
@@ -42,10 +42,6 @@ have_header("unistd.h")
|
|
42
42
|
have_header("io.h")
|
43
43
|
|
44
44
|
glib_header = "glib.h"
|
45
|
-
have_func("g_spawn_close_pid", glib_header)
|
46
|
-
have_func("g_thread_init", glib_header)
|
47
|
-
have_func("g_main_depth", glib_header)
|
48
|
-
have_func("g_listenv", glib_header)
|
49
45
|
|
50
46
|
ruby_header = "ruby.h"
|
51
47
|
have_func("rb_check_array_type", ruby_header)
|
data/ext/glib2/rbglib-bytes.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2017-
|
3
|
+
* Copyright (C) 2017-2021 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
|
@@ -32,7 +32,6 @@ rbg_is_bytes(VALUE object)
|
|
32
32
|
return RVAL2CBOOL(rb_obj_is_kind_of(object, RG_TARGET_NAMESPACE));
|
33
33
|
}
|
34
34
|
|
35
|
-
#if GLIB_CHECK_VERSION(2, 32, 0)
|
36
35
|
static VALUE RG_TARGET_NAMESPACE;
|
37
36
|
|
38
37
|
static VALUE
|
@@ -119,12 +118,10 @@ rg_pointer(VALUE self)
|
|
119
118
|
|
120
119
|
return ULONG2NUM((guintptr)data);
|
121
120
|
}
|
122
|
-
#endif
|
123
121
|
|
124
122
|
void
|
125
123
|
Init_glib_bytes(void)
|
126
124
|
{
|
127
|
-
#if GLIB_CHECK_VERSION(2, 32, 0)
|
128
125
|
RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_BYTES, "Bytes", mGLib);
|
129
126
|
|
130
127
|
RG_DEF_SMETHOD(try_convert, 1);
|
@@ -135,5 +132,4 @@ Init_glib_bytes(void)
|
|
135
132
|
RG_DEF_METHOD(size, 0);
|
136
133
|
RG_DEF_ALIAS("length", "size");
|
137
134
|
RG_DEF_METHOD(pointer, 0);
|
138
|
-
#endif
|
139
135
|
}
|
data/ext/glib2/rbglib-gc.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2018-
|
3
|
+
* Copyright (C) 2018-2020 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
|
@@ -20,32 +20,45 @@
|
|
20
20
|
|
21
21
|
#include "rbgprivate.h"
|
22
22
|
|
23
|
-
|
23
|
+
typedef struct {
|
24
|
+
VALUE object;
|
25
|
+
guint ref_count;
|
26
|
+
} RBGGCMarkItem;
|
27
|
+
|
28
|
+
typedef struct {
|
29
|
+
GHashTable *items;
|
30
|
+
GMutex mutex;
|
31
|
+
} RBGGCMarker;
|
32
|
+
|
33
|
+
static RBGGCMarker *rbg_gc_marker_raw = NULL;
|
24
34
|
|
25
35
|
static void
|
26
36
|
gc_marker_mark_each(G_GNUC_UNUSED gpointer key,
|
27
37
|
gpointer value,
|
28
38
|
G_GNUC_UNUSED gpointer user_data)
|
29
39
|
{
|
30
|
-
|
31
|
-
rb_gc_mark(
|
40
|
+
RBGGCMarkItem *item = value;
|
41
|
+
rb_gc_mark(item->object);
|
32
42
|
}
|
33
43
|
|
34
44
|
static void
|
35
45
|
gc_marker_mark(void *data)
|
36
46
|
{
|
37
|
-
|
38
|
-
|
47
|
+
RBGGCMarker *marker = data;
|
48
|
+
g_mutex_lock(&(marker->mutex));
|
49
|
+
g_hash_table_foreach(marker->items, gc_marker_mark_each, NULL);
|
50
|
+
g_mutex_unlock(&(marker->mutex));
|
39
51
|
}
|
40
52
|
|
41
53
|
static void
|
42
54
|
gc_marker_free(void *data)
|
43
55
|
{
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
rbg_objects = NULL;
|
56
|
+
RBGGCMarker *marker_raw = data;
|
57
|
+
if (marker_raw == rbg_gc_marker_raw) {
|
58
|
+
rbg_gc_marker_raw = NULL;
|
48
59
|
}
|
60
|
+
g_hash_table_unref(marker_raw->items);
|
61
|
+
g_free(marker_raw);
|
49
62
|
}
|
50
63
|
|
51
64
|
static const rb_data_type_t rbg_gc_marker_type = {
|
@@ -59,95 +72,128 @@ static const rb_data_type_t rbg_gc_marker_type = {
|
|
59
72
|
RUBY_TYPED_FREE_IMMEDIATELY,
|
60
73
|
};
|
61
74
|
|
62
|
-
|
63
|
-
|
75
|
+
static VALUE
|
76
|
+
rbg_gc_marker_new_raw(void)
|
64
77
|
{
|
65
|
-
|
66
|
-
|
78
|
+
RBGGCMarker *gc_marker_raw = g_new(RBGGCMarker, 1);
|
79
|
+
gc_marker_raw->items = g_hash_table_new_full(g_direct_hash,
|
80
|
+
g_direct_equal,
|
81
|
+
NULL,
|
82
|
+
g_free);
|
83
|
+
g_mutex_init(&(gc_marker_raw->mutex));
|
84
|
+
|
85
|
+
return TypedData_Wrap_Struct(rb_cObject,
|
86
|
+
&rbg_gc_marker_type,
|
87
|
+
gc_marker_raw);
|
88
|
+
}
|
89
|
+
|
90
|
+
static void
|
91
|
+
rbg_gc_guard_raw(RBGGCMarker *gc_marker, gpointer key, VALUE rb_object)
|
92
|
+
{
|
93
|
+
g_mutex_lock(&(gc_marker->mutex));
|
94
|
+
RBGGCMarkItem *item = g_hash_table_lookup(gc_marker->items, key);
|
95
|
+
if (item) {
|
96
|
+
item->ref_count++;
|
97
|
+
} else {
|
98
|
+
item = g_new(RBGGCMarkItem, 1);
|
99
|
+
item->object = rb_object;
|
100
|
+
item->ref_count = 1;
|
101
|
+
g_hash_table_insert(gc_marker->items, key, item);
|
102
|
+
}
|
103
|
+
g_mutex_unlock(&(gc_marker->mutex));
|
104
|
+
}
|
67
105
|
|
68
|
-
|
69
|
-
|
70
|
-
|
106
|
+
static void
|
107
|
+
rbg_gc_unguard_raw(RBGGCMarker *gc_marker, gpointer key)
|
108
|
+
{
|
109
|
+
g_mutex_lock(&(gc_marker->mutex));
|
110
|
+
RBGGCMarkItem *item = g_hash_table_lookup(gc_marker->items, key);
|
111
|
+
if (item) {
|
112
|
+
item->ref_count--;
|
113
|
+
if (item->ref_count == 0) {
|
114
|
+
g_hash_table_remove(gc_marker->items, key);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
g_mutex_unlock(&(gc_marker->mutex));
|
118
|
+
}
|
119
|
+
|
120
|
+
static void
|
121
|
+
rbg_gc_unguard_all_raw(RBGGCMarker *gc_marker)
|
122
|
+
{
|
123
|
+
g_mutex_lock(&(gc_marker->mutex));
|
124
|
+
g_hash_table_remove_all(gc_marker->items);
|
125
|
+
g_mutex_unlock(&(gc_marker->mutex));
|
71
126
|
}
|
72
127
|
|
73
128
|
void
|
74
|
-
|
129
|
+
rbg_gc_guard(gpointer key, VALUE rb_object)
|
75
130
|
{
|
76
|
-
if (!
|
131
|
+
if (!rbg_gc_marker_raw)
|
77
132
|
return;
|
78
133
|
|
79
|
-
|
134
|
+
rbg_gc_guard_raw(rbg_gc_marker_raw, key, rb_object);
|
80
135
|
}
|
81
136
|
|
82
|
-
|
83
|
-
|
137
|
+
void
|
138
|
+
rbg_gc_unguard(gpointer key)
|
84
139
|
{
|
85
|
-
|
140
|
+
if (!rbg_gc_marker_raw)
|
141
|
+
return;
|
86
142
|
|
87
|
-
|
88
|
-
&rbg_gc_marker_type,
|
89
|
-
rb_objects);
|
90
|
-
return gc_marker;
|
143
|
+
rbg_gc_unguard_raw(rbg_gc_marker_raw, key);
|
91
144
|
}
|
92
145
|
|
93
146
|
VALUE
|
94
147
|
rbg_gc_marker_new(void)
|
95
148
|
{
|
96
|
-
|
97
|
-
|
98
|
-
rb_objects = g_hash_table_new(g_direct_hash, g_direct_equal);
|
99
|
-
return rbg_gc_marker_new_raw(rb_objects);
|
149
|
+
return rbg_gc_marker_new_raw();
|
100
150
|
}
|
101
151
|
|
102
152
|
void
|
103
153
|
rbg_gc_marker_guard(VALUE rb_gc_marker, VALUE rb_object)
|
104
154
|
{
|
105
|
-
|
106
|
-
|
155
|
+
RBGGCMarker *gc_marker;
|
107
156
|
TypedData_Get_Struct(rb_gc_marker,
|
108
|
-
|
157
|
+
RBGGCMarker,
|
109
158
|
&rbg_gc_marker_type,
|
110
|
-
|
111
|
-
|
112
|
-
(gpointer)rb_object,
|
113
|
-
(gpointer)rb_object);
|
159
|
+
gc_marker);
|
160
|
+
rbg_gc_guard_raw(gc_marker, RVAL2POINTER(rb_object), rb_object);
|
114
161
|
}
|
115
162
|
|
116
163
|
void
|
117
164
|
rbg_gc_marker_unguard(VALUE rb_gc_marker, VALUE rb_object)
|
118
165
|
{
|
119
|
-
GHashTable *rb_objects;
|
120
|
-
|
121
166
|
if (!RB_TYPE_P(rb_gc_marker, RUBY_T_DATA))
|
122
167
|
return;
|
123
168
|
if (!RTYPEDDATA_P(rb_gc_marker))
|
124
169
|
return;
|
125
170
|
|
171
|
+
RBGGCMarker *gc_marker;
|
126
172
|
TypedData_Get_Struct(rb_gc_marker,
|
127
|
-
|
173
|
+
RBGGCMarker,
|
128
174
|
&rbg_gc_marker_type,
|
129
|
-
|
130
|
-
|
175
|
+
gc_marker);
|
176
|
+
rbg_gc_unguard_raw(gc_marker, RVAL2POINTER(rb_object));
|
131
177
|
}
|
132
178
|
|
133
179
|
void
|
134
180
|
rbg_gc_marker_unguard_all(VALUE rb_gc_marker)
|
135
181
|
{
|
136
|
-
|
137
|
-
|
182
|
+
RBGGCMarker *gc_marker;
|
138
183
|
TypedData_Get_Struct(rb_gc_marker,
|
139
|
-
|
184
|
+
RBGGCMarker,
|
140
185
|
&rbg_gc_marker_type,
|
141
|
-
|
142
|
-
|
186
|
+
gc_marker);
|
187
|
+
rbg_gc_unguard_all_raw(gc_marker);
|
143
188
|
}
|
144
189
|
|
145
190
|
void
|
146
191
|
Init_glib_gc(void)
|
147
192
|
{
|
148
|
-
VALUE gc_marker;
|
149
|
-
|
150
|
-
rbg_objects = g_hash_table_new(g_direct_hash, g_direct_equal);
|
151
|
-
gc_marker = rbg_gc_marker_new_raw(rbg_objects);
|
193
|
+
VALUE gc_marker = rbg_gc_marker_new_raw();
|
152
194
|
rb_ivar_set(mGLib, rb_intern("gc_marker"), gc_marker);
|
195
|
+
TypedData_Get_Struct(gc_marker,
|
196
|
+
RBGGCMarker,
|
197
|
+
&rbg_gc_marker_type,
|
198
|
+
rbg_gc_marker_raw);
|
153
199
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2015-
|
3
|
+
* Copyright (C) 2015-2021 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
|
@@ -303,14 +303,10 @@ Init_glib_variant_type(void)
|
|
303
303
|
DEF_TYPE(DICT_ENTRY);
|
304
304
|
DEF_TYPE(DICTIONARY);
|
305
305
|
DEF_TYPE(STRING_ARRAY);
|
306
|
-
# if GLIB_CHECK_VERSION(2, 30, 0)
|
307
306
|
DEF_TYPE(OBJECT_PATH_ARRAY);
|
308
|
-
# endif
|
309
307
|
DEF_TYPE(BYTESTRING);
|
310
308
|
DEF_TYPE(BYTESTRING_ARRAY);
|
311
|
-
# if GLIB_CHECK_VERSION(2, 30, 0)
|
312
309
|
DEF_TYPE(VARDICT);
|
313
|
-
# endif
|
314
310
|
|
315
311
|
#undef DEF_TYPE
|
316
312
|
}
|
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-2021 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
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
#define RG_TARGET_NAMESPACE cVariant
|
24
24
|
|
25
|
-
#define _SELF(s) (
|
25
|
+
#define _SELF(s) (RTYPEDDATA_DATA(s))
|
26
26
|
|
27
27
|
static VALUE RG_TARGET_NAMESPACE;
|
28
28
|
|
@@ -191,7 +191,6 @@ rg_ruby_to_variant(VALUE rb_value, VALUE rb_variant_type)
|
|
191
191
|
}
|
192
192
|
}
|
193
193
|
return g_variant_new_strv(strings, length);
|
194
|
-
#if GLIB_CHECK_VERSION(2, 30, 0)
|
195
194
|
} else if (g_variant_type_equal(variant_type,
|
196
195
|
G_VARIANT_TYPE_OBJECT_PATH_ARRAY)) {
|
197
196
|
const gchar **paths;
|
@@ -210,7 +209,6 @@ rg_ruby_to_variant(VALUE rb_value, VALUE rb_variant_type)
|
|
210
209
|
}
|
211
210
|
}
|
212
211
|
return g_variant_new_objv(paths, length);
|
213
|
-
#endif
|
214
212
|
} else if (g_variant_type_equal(variant_type, G_VARIANT_TYPE_ARRAY)) {
|
215
213
|
int i;
|
216
214
|
GVariantBuilder builder;
|
@@ -259,7 +257,7 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
259
257
|
rb_scan_args(argc, argv, "11", &rb_value, &rb_variant_type);
|
260
258
|
variant = rg_ruby_to_variant(rb_value, rb_variant_type);
|
261
259
|
g_variant_ref_sink(variant);
|
262
|
-
|
260
|
+
RTYPEDDATA_DATA(self) = variant;
|
263
261
|
|
264
262
|
return Qnil;
|
265
263
|
}
|
data/ext/glib2/rbglib.c
CHANGED
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
|
36
|
+
#define RBGLIB_MICRO_VERSION 4
|
37
37
|
|
38
38
|
#ifndef RB_ZALLOC
|
39
39
|
# ifdef ZALLOC
|
@@ -139,6 +139,9 @@ G_BEGIN_DECLS
|
|
139
139
|
#define RVAL2GUINT32S(ary, n) rbg_rval2guint32s(&(ary), &(n))
|
140
140
|
#define RVAL2GDOUBLES(ary, n) rbg_rval2gdoubles(&(ary), &(n))
|
141
141
|
|
142
|
+
#define RVAL2POINTER(value) ((gpointer)(value))
|
143
|
+
#define POINTER2RVAL(pointer) ((VALUE)(pointer))
|
144
|
+
|
142
145
|
#define GINTS2RVAL(ary, n) rbg_gints2rval(ary, n)
|
143
146
|
#define GINTS2RVAL_FREE(ary, n) rbg_gints2rval(ary, n)
|
144
147
|
|
@@ -385,7 +385,7 @@ rg_set_groups(VALUE self, VALUE rburi, VALUE rbgroups)
|
|
385
385
|
long n;
|
386
386
|
gchar **groups = RVAL2STRS(rbgroups, n);
|
387
387
|
|
388
|
-
g_bookmark_file_set_groups(bookmark, uri, groups, n);
|
388
|
+
g_bookmark_file_set_groups(bookmark, uri, (const gchar **)groups, n);
|
389
389
|
|
390
390
|
g_free(groups);
|
391
391
|
|
data/ext/glib2/rbglib_datetime.c
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* Copyright (C) 2016 Ruby-
|
2
|
+
* Copyright (C) 2016-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
|
@@ -69,10 +69,8 @@ rg_s_now(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
69
69
|
date = g_date_time_new_now_local();
|
70
70
|
} else if (is_utc_timezone(rb_timezone)) {
|
71
71
|
date = g_date_time_new_now_utc();
|
72
|
-
#if GLIB_CHECK_VERSION(2, 34, 0)
|
73
72
|
} else if (is_timezone(rb_timezone)) {
|
74
73
|
date = g_date_time_new_now(RVAL2GTIMEZONE(rb_timezone));
|
75
|
-
#endif
|
76
74
|
} else {
|
77
75
|
rb_raise(rb_eArgError,
|
78
76
|
"timezone must be nil, :local, :utc or GLib::TimeZone: "
|
@@ -160,7 +158,6 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
160
158
|
hour,
|
161
159
|
minute,
|
162
160
|
second);
|
163
|
-
#if GLIB_CHECK_VERSION(2, 34, 0)
|
164
161
|
} else if (is_timezone(rb_timezone)) {
|
165
162
|
GTimeZone *timezone = NULL;
|
166
163
|
|
@@ -172,7 +169,6 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
172
169
|
hour,
|
173
170
|
minute,
|
174
171
|
second);
|
175
|
-
#endif
|
176
172
|
} else {
|
177
173
|
rb_raise(rb_eArgError,
|
178
174
|
":timezone must be nil, :local, :utc or GLib::TimeZone: "
|