glib2 0.90.2-x86-mingw32 → 0.90.3-x86-mingw32
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.
- data/ChangeLog +49 -0
- data/Rakefile +1 -0
- data/ext/glib2/depend +4 -2
- data/ext/glib2/extconf.rb +0 -1
- data/ext/glib2/glib2.def +9 -0
- data/ext/glib2/rbglib.c +129 -2
- data/ext/glib2/rbglib.h +13 -4
- data/ext/glib2/rbglib_bookmarkfile.c +8 -13
- data/ext/glib2/rbglib_keyfile.c +6 -7
- data/ext/glib2/rbglib_shell.c +2 -2
- data/ext/glib2/rbglib_spawn.c +1 -1
- data/ext/glib2/rbglib_utils.c +1 -1
- data/ext/glib2/rbglib_win32.c +5 -5
- data/ext/glib2/rbgobj_paramspecs.c +56 -58
- data/ext/glib2/rbgobj_value.c +2 -5
- data/ext/glib2/rbgutil.c +1 -1
- data/lib/1.8/glib2.so +0 -0
- data/lib/1.9/glib2.so +0 -0
- data/lib/mkmf-gnome2.rb +1 -0
- metadata +19 -6
data/ChangeLog
CHANGED
@@ -1,3 +1,52 @@
|
|
1
|
+
2010-10-23 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
|
3
|
+
* ext/glib2/glib2.def: add missing exported symbols.
|
4
|
+
|
5
|
+
* lib/mkmf-gnome2.rb: ignore nonexistent directory.
|
6
|
+
|
7
|
+
* ext/glib2/rbglib.c, ext/glib2/rbglib.h:
|
8
|
+
fix alived string may be GCed in RVAL2CSTR and
|
9
|
+
RVAL2CSTR_ACCEPT_NIL problem.
|
10
|
+
Suggested by Neil Roberts. Thanks!!!
|
11
|
+
|
12
|
+
2010-10-21 Kouhei Sutou <kou@cozmixng.org>
|
13
|
+
|
14
|
+
* ext/glib2/rbgobj_paramspecs.c: add missing type declarations.
|
15
|
+
Reported by Nobuyoshi Nakada. Thanks!!!
|
16
|
+
|
17
|
+
2010-10-08 Guillaume Cottenceau
|
18
|
+
|
19
|
+
* fix some uses of rb_str_new* and StringValuePtr to use
|
20
|
+
encoding-aware Strings
|
21
|
+
|
22
|
+
2010-10-08 Guillaume Cottenceau
|
23
|
+
|
24
|
+
* RVAL2CSTR2 is deprecated, replace with RVAL2CSTR_ACCEPT_NIL
|
25
|
+
|
26
|
+
* CSTR2RVAL2 is deprecated, replace with CSTR2RVAL_FREE
|
27
|
+
|
28
|
+
2010-10-07 Guillaume Cottenceau
|
29
|
+
|
30
|
+
* ext/glib2/rbglib.c, ext/glib2/rbglib.h, ext/glib2/glib2.def,
|
31
|
+
ext/glib2/rbglib_bookmarkfile.c: have RVAL2CSTRFILENAME,
|
32
|
+
CSTRFILENAME2RVAL_FREE and CSTRFILENAMEARRAY2RVAL_FREE, to handle
|
33
|
+
filename String to/from rg2 manipulations, in glib2 to use them in
|
34
|
+
any rg2 submodules
|
35
|
+
|
36
|
+
2010-10-06 Guillaume Cottenceau
|
37
|
+
|
38
|
+
* ext/glib2/rbglib.c, ext/glib2/extconf.rb: use
|
39
|
+
HAVE_RUBY_ENCODING_H, not HAVE_RB_STR_ENCODE
|
40
|
+
|
41
|
+
2010-09-30 Guillaume Cottenceau
|
42
|
+
|
43
|
+
* ext/glib2/rbglib.c, ext/glib2/rbgobj_value.c,
|
44
|
+
ext/glib2/rbglib.h, ext/glib2/glib2.def: improve CSTR2RVAL,
|
45
|
+
RVAL2CSTR, gvalue2rvalue, and rvalue2gvalue, to use UTF-8 strings
|
46
|
+
when Ruby supports String encoding (Ruby 1.9) - in particular this
|
47
|
+
should allow retrieving usable Strings from rg2 (Strings with a
|
48
|
+
set encoding)
|
49
|
+
|
1
50
|
2010-09-26 Kouhei Sutou <kou@cozmixng.org>
|
2
51
|
|
3
52
|
* ext/glib2/rbglib.h: 0.90.2 -> 0.90.3.
|
data/Rakefile
CHANGED
@@ -35,6 +35,7 @@ spec = Gem::Specification.new do |s|
|
|
35
35
|
s.platform = Gem::Platform::RUBY
|
36
36
|
s.extensions = FileList["ext/#{package_name}/extconf.rb"]
|
37
37
|
s.require_paths = ["lib"]
|
38
|
+
s.add_development_dependency("pkg-config", ">= 0")
|
38
39
|
s.files = FileList["ChangeLog", "README", "Rakefile", "extconf.rb",
|
39
40
|
"lib/**/*.rb", "{ext,sample,test,test-unit}/**/*"]
|
40
41
|
end
|
data/ext/glib2/depend
CHANGED
@@ -6,5 +6,7 @@ install-so:
|
|
6
6
|
$(INSTALL_DATA) glib-enum-types.h $(RUBYARCHDIR)
|
7
7
|
|
8
8
|
install:
|
9
|
-
$(
|
10
|
-
|
9
|
+
if test -n "$(pkgconfigdir)"; then \
|
10
|
+
$(MAKEDIRS) $(pkgconfigdir); \
|
11
|
+
$(INSTALL_DATA) ruby-glib2.pc $(pkgconfigdir); \
|
12
|
+
fi
|
data/ext/glib2/extconf.rb
CHANGED
@@ -37,7 +37,6 @@ have_func("rb_sourceline", ruby_header)
|
|
37
37
|
have_func("ruby_set_current_source", ruby_header)
|
38
38
|
have_func("rb_thread_blocking_region", ruby_header)
|
39
39
|
have_func("ruby_native_thread_p", ruby_header)
|
40
|
-
have_func("rb_str_encode", ruby_header)
|
41
40
|
|
42
41
|
have_var("curr_thread", [ruby_header, "node.h"])
|
43
42
|
have_var("rb_curr_thread", [ruby_header, "node.h"])
|
data/ext/glib2/glib2.def
CHANGED
@@ -56,9 +56,13 @@ EXPORTS
|
|
56
56
|
g_value_set_ruby_value
|
57
57
|
g_key_file_get_type
|
58
58
|
rbg_rval_inspect
|
59
|
+
rbg_rval2cstr
|
59
60
|
rbg_rval2cstr_accept_nil
|
60
61
|
rbg_cstr2rval
|
61
62
|
rbg_cstr2rval_with_free
|
63
|
+
rbg_filename_to_ruby_free
|
64
|
+
rbg_filename_from_ruby
|
65
|
+
rbg_filename_gslist_to_array_free
|
62
66
|
rbg_string_value_ptr
|
63
67
|
rbgutil_id_module_eval DATA
|
64
68
|
rbgutil_def_setters
|
@@ -85,5 +89,10 @@ EXPORTS
|
|
85
89
|
rbgobj_fund_define_fundamental
|
86
90
|
rbgobj_gc_mark_gvalue
|
87
91
|
rbgobj_gc_mark_instance
|
92
|
+
rbglib_num_to_uint64
|
93
|
+
rbglib_uint64_to_num
|
94
|
+
rbglib_num_to_int64
|
95
|
+
rbglib_int64_to_num
|
88
96
|
|
89
97
|
g_connect_flags_get_type
|
98
|
+
g_poll_fd_get_type
|
data/ext/glib2/rbglib.c
CHANGED
@@ -43,6 +43,18 @@ extern void Init_glib_unicode();
|
|
43
43
|
extern void Init_glib_keyfile();
|
44
44
|
extern void Init_glib_bookmark_file();
|
45
45
|
|
46
|
+
gchar *
|
47
|
+
rbg_rval2cstr(VALUE *str)
|
48
|
+
{
|
49
|
+
StringValue(*str);
|
50
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
51
|
+
if (rb_enc_get(*str) != rb_utf8_encoding()) {
|
52
|
+
str = rb_str_export_to_enc(*str, rb_utf8_encoding());
|
53
|
+
}
|
54
|
+
#endif
|
55
|
+
return RSTRING_PTR(*str);
|
56
|
+
}
|
57
|
+
|
46
58
|
const gchar *
|
47
59
|
rbg_rval_inspect(VALUE object)
|
48
60
|
{
|
@@ -60,21 +72,29 @@ rbg_string_value_ptr(ptr)
|
|
60
72
|
}
|
61
73
|
|
62
74
|
gchar *
|
63
|
-
rbg_rval2cstr_accept_nil(VALUE str)
|
75
|
+
rbg_rval2cstr_accept_nil(VALUE *str)
|
64
76
|
{
|
65
|
-
return NIL_P(str) ? NULL :
|
77
|
+
return NIL_P(*str) ? NULL : RVAL2CSTR(*str);
|
66
78
|
}
|
67
79
|
|
68
80
|
VALUE
|
69
81
|
rbg_cstr2rval(const char* str)
|
70
82
|
{
|
83
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
84
|
+
return str ? rb_external_str_new_with_enc(str, strlen(str), rb_utf8_encoding()) : Qnil;
|
85
|
+
#else
|
71
86
|
return str ? rb_str_new2(str) : Qnil;
|
87
|
+
#endif
|
72
88
|
}
|
73
89
|
|
74
90
|
static VALUE
|
75
91
|
rbg_cstr2rval_with_free_body(VALUE str)
|
76
92
|
{
|
93
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
94
|
+
return rb_external_str_new_with_enc((gchar *)str, strlen((gchar *)str), rb_utf8_encoding());
|
95
|
+
#else
|
77
96
|
return rb_str_new2((gchar *)str);
|
97
|
+
#endif
|
78
98
|
}
|
79
99
|
|
80
100
|
static VALUE
|
@@ -92,6 +112,94 @@ rbg_cstr2rval_with_free(gchar *str)
|
|
92
112
|
rbg_cstr2rval_with_free_ensure, (VALUE)str) : Qnil;
|
93
113
|
}
|
94
114
|
|
115
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
116
|
+
static rb_encoding *filename_encoding_if_not_utf8;
|
117
|
+
#endif
|
118
|
+
|
119
|
+
VALUE
|
120
|
+
rbg_filename_to_ruby_free(gchar *filename)
|
121
|
+
{
|
122
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
123
|
+
gchar *filename_utf8;
|
124
|
+
GError *error = NULL;
|
125
|
+
gsize written;
|
126
|
+
VALUE rb_filename = Qnil;
|
127
|
+
|
128
|
+
if (filename == NULL)
|
129
|
+
return Qnil;
|
130
|
+
|
131
|
+
/* convert filename to UTF-8 if needed */
|
132
|
+
if (filename_encoding_if_not_utf8 != NULL) {
|
133
|
+
filename_utf8 = g_filename_to_utf8(filename, -1, NULL, &written, &error);
|
134
|
+
g_free(filename);
|
135
|
+
if (error != NULL)
|
136
|
+
RAISE_GERROR(error);
|
137
|
+
} else {
|
138
|
+
filename_utf8 = filename;
|
139
|
+
}
|
140
|
+
|
141
|
+
/* create Ruby String in UTF-8 */
|
142
|
+
rb_filename = rb_external_str_new_with_enc(filename_utf8,
|
143
|
+
strlen(filename_utf8),
|
144
|
+
rb_utf8_encoding());
|
145
|
+
g_free(filename_utf8);
|
146
|
+
|
147
|
+
/* if needed, change encoding of Ruby String to filename encoding, so that
|
148
|
+
upcoming File operations will work properly */
|
149
|
+
if (filename_encoding_if_not_utf8 != NULL) {
|
150
|
+
return rb_str_export_to_enc(rb_filename, filename_encoding_if_not_utf8);
|
151
|
+
} else {
|
152
|
+
return rb_filename;
|
153
|
+
}
|
154
|
+
|
155
|
+
#else
|
156
|
+
return CSTR2RVAL_FREE(filename);
|
157
|
+
#endif
|
158
|
+
}
|
159
|
+
|
160
|
+
gchar *
|
161
|
+
rbg_filename_from_ruby(VALUE filename)
|
162
|
+
{
|
163
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
164
|
+
GError *error = NULL;
|
165
|
+
gchar *retval;
|
166
|
+
gsize written;
|
167
|
+
|
168
|
+
/* if needed, change encoding of Ruby String to UTF-8 */
|
169
|
+
StringValue(filename);
|
170
|
+
if (rb_enc_get(filename) != rb_utf8_encoding()) {
|
171
|
+
filename = rb_str_export_to_enc(filename, rb_utf8_encoding());
|
172
|
+
}
|
173
|
+
|
174
|
+
/* convert it to filename encoding if needed */
|
175
|
+
if (filename_encoding_if_not_utf8 != NULL) {
|
176
|
+
retval = g_filename_from_utf8(RSTRING_PTR(filename), -1, NULL, &written, &error);
|
177
|
+
if (error != NULL)
|
178
|
+
RAISE_GERROR(error);
|
179
|
+
} else {
|
180
|
+
retval = RSTRING_PTR(filename);
|
181
|
+
}
|
182
|
+
|
183
|
+
return retval;
|
184
|
+
|
185
|
+
#else
|
186
|
+
return RVAL2CSTR(filename);
|
187
|
+
#endif
|
188
|
+
}
|
189
|
+
|
190
|
+
VALUE
|
191
|
+
rbg_filename_gslist_to_array_free(GSList *list)
|
192
|
+
{
|
193
|
+
GSList *l;
|
194
|
+
VALUE ary = rb_ary_new();
|
195
|
+
for (l = list; l != NULL; l = g_slist_next(l)) {
|
196
|
+
rb_ary_push(ary, rbg_filename_to_ruby_free(l->data));
|
197
|
+
}
|
198
|
+
g_slist_free(list);
|
199
|
+
return ary;
|
200
|
+
}
|
201
|
+
|
202
|
+
|
95
203
|
#if 0
|
96
204
|
/*
|
97
205
|
2004-04-15 Commented out by Masao.
|
@@ -175,6 +283,10 @@ rbg_s_os_unix(self)
|
|
175
283
|
void
|
176
284
|
Init_glib2()
|
177
285
|
{
|
286
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
287
|
+
const gchar **filename_charsets;
|
288
|
+
#endif
|
289
|
+
|
178
290
|
id_inspect = rb_intern("inspect");
|
179
291
|
|
180
292
|
mGLib = rb_define_module("GLib");
|
@@ -254,6 +366,21 @@ Init_glib2()
|
|
254
366
|
rb_define_const(mGLib, "DIR_SEPARATOR", CSTR2RVAL(G_DIR_SEPARATOR_S));
|
255
367
|
rb_define_const(mGLib, "SEARCHPATH_SEPARATOR", CSTR2RVAL(G_SEARCHPATH_SEPARATOR_S));
|
256
368
|
|
369
|
+
/* discover and store glib filename encoding */
|
370
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
371
|
+
if (g_get_filename_charsets(&filename_charsets)
|
372
|
+
|| filename_charsets == NULL
|
373
|
+
|| filename_charsets[0] == NULL
|
374
|
+
|| !strcmp(filename_charsets[0], "UTF-8")
|
375
|
+
|| rb_enc_find(filename_charsets[0]) == rb_enc_find("ASCII-8BIT")) {
|
376
|
+
/* set to NULL, mean do not perform transcoding, either filename
|
377
|
+
encoding is unknown, UTF-8, or unsupported */
|
378
|
+
filename_encoding_if_not_utf8 = NULL;
|
379
|
+
} else {
|
380
|
+
filename_encoding_if_not_utf8 = rb_enc_find(filename_charsets[0]);
|
381
|
+
}
|
382
|
+
#endif
|
383
|
+
|
257
384
|
/* Don't implement them.
|
258
385
|
#define G_DIR_SEPARATOR_S
|
259
386
|
#define G_IS_DIR_SEPARATOR (c)
|
data/ext/glib2/rbglib.h
CHANGED
@@ -23,7 +23,7 @@ extern "C" {
|
|
23
23
|
|
24
24
|
#define RBGLIB_MAJOR_VERSION 0
|
25
25
|
#define RBGLIB_MINOR_VERSION 90
|
26
|
-
#define RBGLIB_MICRO_VERSION
|
26
|
+
#define RBGLIB_MICRO_VERSION 3
|
27
27
|
|
28
28
|
#ifndef RSTRING_PTR
|
29
29
|
# define RSTRING_PTR(s) (RSTRING(s)->ptr)
|
@@ -45,13 +45,17 @@ typedef int GPid;
|
|
45
45
|
|
46
46
|
#define RBG_INSPECT(object) (rbg_rval_inspect(object))
|
47
47
|
|
48
|
-
#define RVAL2CSTR(v) (
|
49
|
-
#define RVAL2CSTR_ACCEPT_NIL(v) (rbg_rval2cstr_accept_nil(v))
|
48
|
+
#define RVAL2CSTR(v) (rbg_rval2cstr(&v))
|
49
|
+
#define RVAL2CSTR_ACCEPT_NIL(v) (rbg_rval2cstr_accept_nil(&v))
|
50
50
|
#define RVAL2CSTR2(v) (RVAL2CSTR_ACCEPT_NIL(v))
|
51
51
|
#define CSTR2RVAL(s) (rbg_cstr2rval(s))
|
52
52
|
#define CSTR2RVAL_FREE(s) (rbg_cstr2rval_with_free(s))
|
53
53
|
#define CSTR2RVAL2(s) (CSTR2RVAL_FREE(s))
|
54
54
|
|
55
|
+
#define RVAL2CSTRFILENAME(v) (rbg_filename_from_ruby(v))
|
56
|
+
#define CSTRFILENAME2RVAL_FREE(s) (rbg_filename_to_ruby_free(s))
|
57
|
+
#define CSTRFILENAMEARRAY2RVAL_FREE(s) (rbg_filename_gslist_to_array_free(s))
|
58
|
+
|
55
59
|
#define CBOOL2RVAL(b) ((b) ? Qtrue : Qfalse)
|
56
60
|
#define RVAL2CBOOL(b) (RTEST(b))
|
57
61
|
#define GERROR2RVAL(error) (rbgerr_gerror2exception(error))
|
@@ -76,10 +80,15 @@ RUBY_GLIB2_VAR VALUE mGLib;
|
|
76
80
|
extern const gchar *rbg_rval_inspect(VALUE object);
|
77
81
|
|
78
82
|
extern gchar* rbg_string_value_ptr(volatile VALUE* ptr); /* no longer used */
|
79
|
-
extern gchar *
|
83
|
+
extern gchar *rbg_rval2cstr(VALUE *str);
|
84
|
+
extern gchar *rbg_rval2cstr_accept_nil(VALUE *str);
|
80
85
|
extern VALUE rbg_cstr2rval(const char* str);
|
81
86
|
extern VALUE rbg_cstr2rval_with_free(gchar* str);
|
82
87
|
|
88
|
+
extern VALUE rbg_filename_to_ruby_free(gchar *filename);
|
89
|
+
extern gchar *rbg_filename_from_ruby(VALUE filename);
|
90
|
+
extern VALUE rbg_filename_gslist_to_array_free(GSList *list);
|
91
|
+
|
83
92
|
/* rbgerror.h */
|
84
93
|
extern VALUE rbgerr_gerror2exception(GError *error);
|
85
94
|
extern VALUE rbgerr_define_gerror(GQuark domain, const gchar* name, VALUE module, VALUE parent, VALUE gtype);
|
@@ -56,7 +56,7 @@ bf_load_from_file(self, filename)
|
|
56
56
|
{
|
57
57
|
GError* error = NULL;
|
58
58
|
gboolean ret = g_bookmark_file_load_from_file(_SELF(self),
|
59
|
-
(
|
59
|
+
RVAL2CSTRFILENAME(filename),
|
60
60
|
&error);
|
61
61
|
if (!ret) RAISE_GERROR(error);
|
62
62
|
return self;
|
@@ -98,17 +98,12 @@ static VALUE
|
|
98
98
|
bf_to_data(self)
|
99
99
|
VALUE self;
|
100
100
|
{
|
101
|
-
VALUE ret;
|
102
|
-
gsize len;
|
103
101
|
GError* error = NULL;
|
104
|
-
gchar* data = g_bookmark_file_to_data(_SELF(self),
|
102
|
+
gchar* data = g_bookmark_file_to_data(_SELF(self), NULL, &error);
|
105
103
|
|
106
104
|
if (error) RAISE_GERROR(error);
|
107
105
|
|
108
|
-
|
109
|
-
g_free(data);
|
110
|
-
|
111
|
-
return ret;
|
106
|
+
return CSTR2RVAL_FREE(data);
|
112
107
|
}
|
113
108
|
|
114
109
|
static VALUE
|
@@ -117,7 +112,7 @@ bf_to_file(self, filename)
|
|
117
112
|
{
|
118
113
|
GError* error = NULL;
|
119
114
|
gboolean ret = g_bookmark_file_to_file(_SELF(self),
|
120
|
-
(
|
115
|
+
RVAL2CSTRFILENAME(filename),
|
121
116
|
&error);
|
122
117
|
if (!ret) RAISE_GERROR(error);
|
123
118
|
return self;
|
@@ -187,7 +182,7 @@ bf_get_title(self, uri)
|
|
187
182
|
(const gchar *)RVAL2CSTR(uri),
|
188
183
|
&error);
|
189
184
|
if (error) RAISE_GERROR(error);
|
190
|
-
return
|
185
|
+
return CSTR2RVAL_FREE(ret);
|
191
186
|
}
|
192
187
|
|
193
188
|
static VALUE
|
@@ -199,7 +194,7 @@ bf_get_description(self, uri)
|
|
199
194
|
(const gchar *)RVAL2CSTR(uri),
|
200
195
|
&error);
|
201
196
|
if (error) RAISE_GERROR(error);
|
202
|
-
return
|
197
|
+
return CSTR2RVAL_FREE(ret);
|
203
198
|
}
|
204
199
|
|
205
200
|
static VALUE
|
@@ -211,7 +206,7 @@ bf_get_mime_type(self, uri)
|
|
211
206
|
(const gchar *)RVAL2CSTR(uri),
|
212
207
|
&error);
|
213
208
|
if (error) RAISE_GERROR(error);
|
214
|
-
return
|
209
|
+
return CSTR2RVAL_FREE(ret);
|
215
210
|
}
|
216
211
|
|
217
212
|
static VALUE
|
@@ -241,7 +236,7 @@ bf_get_icon(self, uri)
|
|
241
236
|
if (error) RAISE_GERROR(error);
|
242
237
|
return Qnil;
|
243
238
|
}
|
244
|
-
return rb_assoc_new(
|
239
|
+
return rb_assoc_new(CSTR2RVAL_FREE(href), CSTR2RVAL_FREE(mime_type));
|
245
240
|
}
|
246
241
|
|
247
242
|
static VALUE
|
data/ext/glib2/rbglib_keyfile.c
CHANGED
@@ -192,13 +192,12 @@ static VALUE
|
|
192
192
|
keyfile_to_data(self)
|
193
193
|
VALUE self;
|
194
194
|
{
|
195
|
-
gsize length;
|
196
195
|
GError* error = NULL;
|
197
|
-
gchar* data = g_key_file_to_data(_SELF(self),
|
196
|
+
gchar* data = g_key_file_to_data(_SELF(self), NULL, &error);
|
198
197
|
|
199
198
|
if (error) RAISE_GERROR(error);
|
200
199
|
|
201
|
-
return
|
200
|
+
return CSTR2RVAL_FREE(data);
|
202
201
|
}
|
203
202
|
|
204
203
|
static VALUE
|
@@ -284,7 +283,7 @@ keyfile_get_value(self, group_name, key)
|
|
284
283
|
|
285
284
|
if (error) RAISE_GERROR(error);
|
286
285
|
|
287
|
-
return
|
286
|
+
return CSTR2RVAL_FREE(ret);
|
288
287
|
}
|
289
288
|
|
290
289
|
static VALUE
|
@@ -299,7 +298,7 @@ keyfile_get_string(self, group_name, key)
|
|
299
298
|
|
300
299
|
if (error) RAISE_GERROR(error);
|
301
300
|
|
302
|
-
return
|
301
|
+
return CSTR2RVAL_FREE(ret);
|
303
302
|
}
|
304
303
|
|
305
304
|
static VALUE
|
@@ -322,7 +321,7 @@ keyfile_get_locale_string(argc, argv, self)
|
|
322
321
|
|
323
322
|
if (error) RAISE_GERROR(error);
|
324
323
|
|
325
|
-
return
|
324
|
+
return CSTR2RVAL_FREE(ret);
|
326
325
|
}
|
327
326
|
|
328
327
|
static VALUE
|
@@ -508,7 +507,7 @@ keyfile_get_comment(self, group_name, key)
|
|
508
507
|
|
509
508
|
if (error) RAISE_GERROR(error);
|
510
509
|
|
511
|
-
return
|
510
|
+
return CSTR2RVAL_FREE(ret);
|
512
511
|
}
|
513
512
|
|
514
513
|
static VALUE
|
data/ext/glib2/rbglib_shell.c
CHANGED
@@ -37,7 +37,7 @@ static VALUE
|
|
37
37
|
shell_quote(self, unquoted_string)
|
38
38
|
VALUE self, unquoted_string;
|
39
39
|
{
|
40
|
-
return
|
40
|
+
return CSTR2RVAL_FREE(g_shell_quote((const gchar*)RVAL2CSTR(unquoted_string)));
|
41
41
|
}
|
42
42
|
|
43
43
|
static VALUE
|
@@ -49,7 +49,7 @@ shell_unquote(self, quoted_string)
|
|
49
49
|
|
50
50
|
if (! str) RAISE_GERROR(err);
|
51
51
|
|
52
|
-
return
|
52
|
+
return CSTR2RVAL_FREE(str);
|
53
53
|
}
|
54
54
|
|
55
55
|
void
|
data/ext/glib2/rbglib_spawn.c
CHANGED
@@ -241,7 +241,7 @@ rbglib_m_spawn_command_line_sync(self, str)
|
|
241
241
|
VALUE std_out, std_err;
|
242
242
|
gboolean ret;
|
243
243
|
|
244
|
-
command_line =
|
244
|
+
command_line = RVAL2CSTR(str);
|
245
245
|
ret = g_spawn_command_line_sync(command_line,
|
246
246
|
&standard_output,
|
247
247
|
&standard_error,
|
data/ext/glib2/rbglib_utils.c
CHANGED
data/ext/glib2/rbglib_win32.c
CHANGED
@@ -19,14 +19,14 @@ static VALUE
|
|
19
19
|
rbglib_m_win32_error_message(self, error)
|
20
20
|
VALUE self, error;
|
21
21
|
{
|
22
|
-
return
|
22
|
+
return CSTR2RVAL_FREE(g_win32_error_message(NUM2INT(error)));
|
23
23
|
}
|
24
24
|
|
25
25
|
static VALUE
|
26
26
|
rbglib_m_win32_locale(self)
|
27
27
|
VALUE self;
|
28
28
|
{
|
29
|
-
return
|
29
|
+
return CSTR2RVAL_FREE(g_win32_getlocale());
|
30
30
|
}
|
31
31
|
|
32
32
|
static VALUE
|
@@ -41,7 +41,7 @@ static VALUE
|
|
41
41
|
rbglib_m_win32_get_package_installation_directory(self, package, dll_name)
|
42
42
|
VALUE self, package, dll_name;
|
43
43
|
{
|
44
|
-
return
|
44
|
+
return CSTR2RVAL_FREE(g_win32_get_package_installation_directory(RVAL2CSTR(package),
|
45
45
|
RVAL2CSTR(dll_name)));
|
46
46
|
}
|
47
47
|
|
@@ -49,7 +49,7 @@ static VALUE
|
|
49
49
|
rbglib_m_get_package_installation_subdirectory(self, package, dll_name, subdir)
|
50
50
|
VALUE self, package, dll_name, subdir;
|
51
51
|
{
|
52
|
-
return
|
52
|
+
return CSTR2RVAL_FREE(g_win32_get_package_installation_subdirectory(RVAL2CSTR(package),
|
53
53
|
RVAL2CSTR(dll_name),
|
54
54
|
RVAL2CSTR(subdir)));
|
55
55
|
}
|
@@ -68,7 +68,7 @@ static VALUE
|
|
68
68
|
rbglib_m_win32_locale_filename_from_utf8(self, utf8_filename)
|
69
69
|
VALUE self, utf8_filename;
|
70
70
|
{
|
71
|
-
return
|
71
|
+
return CSTR2RVAL_FREE(g_win32_locale_filename_from_utf8(RVAL2CSTR(utf8_filename)));
|
72
72
|
}
|
73
73
|
|
74
74
|
static VALUE
|
@@ -15,39 +15,40 @@
|
|
15
15
|
#include "rbgprivate.h"
|
16
16
|
|
17
17
|
#define DEF_NUMERIC_PSPEC_METHODS_FUNC(pspec_type, typename, from_ruby, to_ruby, pspec_cast) \
|
18
|
-
static VALUE
|
19
|
-
typename##_initialize(self, name, nick, blurb,
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
pspec
|
24
|
-
|
25
|
-
StringValuePtr(
|
26
|
-
|
27
|
-
from_ruby(
|
28
|
-
from_ruby(
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
\
|
34
|
-
|
35
|
-
VALUE
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
\
|
40
|
-
|
41
|
-
VALUE
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
\
|
46
|
-
|
47
|
-
VALUE
|
48
|
-
|
49
|
-
|
50
|
-
|
18
|
+
static VALUE \
|
19
|
+
typename##_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb, \
|
20
|
+
VALUE minimum, VALUE maximum, VALUE default_value, \
|
21
|
+
VALUE flags) \
|
22
|
+
{ \
|
23
|
+
GParamSpec* pspec; \
|
24
|
+
pspec = g_param_spec_##typename(StringValuePtr(name), \
|
25
|
+
StringValuePtr(nick), \
|
26
|
+
StringValuePtr(blurb), \
|
27
|
+
from_ruby(minimum), \
|
28
|
+
from_ruby(maximum), \
|
29
|
+
from_ruby(default_value), \
|
30
|
+
NUM2UINT(flags)); \
|
31
|
+
rbgobj_param_spec_initialize(self, pspec); \
|
32
|
+
return Qnil; \
|
33
|
+
} \
|
34
|
+
\
|
35
|
+
static VALUE \
|
36
|
+
typename##_minimum(VALUE self) \
|
37
|
+
{ \
|
38
|
+
return to_ruby(pspec_cast(RVAL2GOBJ(self))->minimum); \
|
39
|
+
} \
|
40
|
+
\
|
41
|
+
static VALUE \
|
42
|
+
typename##_maximum(VALUE self) \
|
43
|
+
{ \
|
44
|
+
return to_ruby(pspec_cast(RVAL2GOBJ(self))->maximum); \
|
45
|
+
} \
|
46
|
+
\
|
47
|
+
static VALUE \
|
48
|
+
typename##_range(VALUE self) \
|
49
|
+
{ \
|
50
|
+
pspec_type* pspec = pspec_cast(RVAL2GOBJ(self)); \
|
51
|
+
return rb_range_new(pspec->minimum, pspec->maximum, 0); \
|
51
52
|
}
|
52
53
|
|
53
54
|
DEF_NUMERIC_PSPEC_METHODS_FUNC(GParamSpecChar, char, NUM2INT, INT2FIX, G_PARAM_SPEC_CHAR)
|
@@ -62,23 +63,21 @@ DEF_NUMERIC_PSPEC_METHODS_FUNC(GParamSpecFloat, float, NUM2DBL, rb_float_new, G_
|
|
62
63
|
DEF_NUMERIC_PSPEC_METHODS_FUNC(GParamSpecDouble, double, NUM2DBL, rb_float_new, G_PARAM_SPEC_DOUBLE)
|
63
64
|
|
64
65
|
static VALUE
|
65
|
-
float_epsilon(self)
|
66
|
-
VALUE self;
|
66
|
+
float_epsilon(VALUE self)
|
67
67
|
{
|
68
68
|
return rb_float_new(G_PARAM_SPEC_FLOAT(RVAL2GOBJ(self))->epsilon);
|
69
69
|
}
|
70
70
|
|
71
71
|
static VALUE
|
72
|
-
double_epsilon(self)
|
73
|
-
VALUE self;
|
72
|
+
double_epsilon(VALUE self)
|
74
73
|
{
|
75
74
|
return rb_float_new(G_PARAM_SPEC_DOUBLE(RVAL2GOBJ(self))->epsilon);
|
76
75
|
}
|
77
76
|
|
78
77
|
|
79
78
|
static VALUE
|
80
|
-
boolean_initialize(self, name, nick, blurb,
|
81
|
-
|
79
|
+
boolean_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
80
|
+
VALUE default_value, VALUE flags)
|
82
81
|
{
|
83
82
|
GParamSpec* pspec;
|
84
83
|
pspec = g_param_spec_boolean(StringValuePtr(name),
|
@@ -91,8 +90,8 @@ boolean_initialize(self, name, nick, blurb, default_value, flags)
|
|
91
90
|
}
|
92
91
|
|
93
92
|
static VALUE
|
94
|
-
unichar_initialize(self, name, nick, blurb,
|
95
|
-
|
93
|
+
unichar_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
94
|
+
VALUE default_value, VALUE flags)
|
96
95
|
{
|
97
96
|
GParamSpec* pspec;
|
98
97
|
pspec = g_param_spec_unichar(StringValuePtr(name),
|
@@ -105,8 +104,8 @@ unichar_initialize(self, name, nick, blurb, default_value, flags)
|
|
105
104
|
}
|
106
105
|
|
107
106
|
static VALUE
|
108
|
-
enum_initialize(self, name, nick, blurb,
|
109
|
-
|
107
|
+
enum_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
108
|
+
VALUE enum_type, VALUE default_value, VALUE flags)
|
110
109
|
{
|
111
110
|
GParamSpec* pspec;
|
112
111
|
GType gtype = rbgobj_gtype_get(enum_type);
|
@@ -122,8 +121,8 @@ enum_initialize(self, name, nick, blurb, enum_type, default_value, flags)
|
|
122
121
|
}
|
123
122
|
|
124
123
|
static VALUE
|
125
|
-
flags_initialize(self, name, nick, blurb,
|
126
|
-
|
124
|
+
flags_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
125
|
+
VALUE flags_type, VALUE default_value, VALUE flags)
|
127
126
|
{
|
128
127
|
GParamSpec* pspec;
|
129
128
|
GType gtype = rbgobj_gtype_get(flags_type);
|
@@ -139,8 +138,8 @@ flags_initialize(self, name, nick, blurb, flags_type, default_value, flags)
|
|
139
138
|
}
|
140
139
|
|
141
140
|
static VALUE
|
142
|
-
string_initialize(self, name, nick, blurb,
|
143
|
-
|
141
|
+
string_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
142
|
+
VALUE default_value, VALUE flags)
|
144
143
|
{
|
145
144
|
GParamSpec* pspec;
|
146
145
|
pspec = g_param_spec_string(StringValuePtr(name),
|
@@ -153,8 +152,8 @@ string_initialize(self, name, nick, blurb, default_value, flags)
|
|
153
152
|
}
|
154
153
|
|
155
154
|
static VALUE
|
156
|
-
param_initialize(self, name, nick, blurb,
|
157
|
-
|
155
|
+
param_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
156
|
+
VALUE param_type, VALUE flags)
|
158
157
|
{
|
159
158
|
GParamSpec* pspec;
|
160
159
|
pspec = g_param_spec_param(StringValuePtr(name),
|
@@ -167,8 +166,8 @@ param_initialize(self, name, nick, blurb, param_type, flags)
|
|
167
166
|
}
|
168
167
|
|
169
168
|
static VALUE
|
170
|
-
boxed_initialize(self, name, nick, blurb,
|
171
|
-
|
169
|
+
boxed_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
170
|
+
VALUE boxed_type, VALUE flags)
|
172
171
|
{
|
173
172
|
GParamSpec* pspec;
|
174
173
|
pspec = g_param_spec_boxed(StringValuePtr(name),
|
@@ -181,8 +180,7 @@ boxed_initialize(self, name, nick, blurb, boxed_type, flags)
|
|
181
180
|
}
|
182
181
|
|
183
182
|
static VALUE
|
184
|
-
pointer_initialize(self, name, nick, blurb, flags)
|
185
|
-
VALUE self, name, nick, blurb, flags;
|
183
|
+
pointer_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb, VALUE flags)
|
186
184
|
{
|
187
185
|
GParamSpec* pspec;
|
188
186
|
pspec = g_param_spec_pointer(StringValuePtr(name),
|
@@ -194,8 +192,8 @@ pointer_initialize(self, name, nick, blurb, flags)
|
|
194
192
|
}
|
195
193
|
|
196
194
|
static VALUE
|
197
|
-
value_array_initialize(self, name, nick, blurb,
|
198
|
-
|
195
|
+
value_array_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
196
|
+
VALUE element_spec, VALUE flags)
|
199
197
|
{
|
200
198
|
GParamSpec* pspec;
|
201
199
|
pspec = g_param_spec_value_array(StringValuePtr(name),
|
@@ -208,8 +206,8 @@ value_array_initialize(self, name, nick, blurb, element_spec, flags)
|
|
208
206
|
}
|
209
207
|
|
210
208
|
static VALUE
|
211
|
-
object_initialize(self, name, nick, blurb,
|
212
|
-
|
209
|
+
object_initialize(VALUE self, VALUE name, VALUE nick, VALUE blurb,
|
210
|
+
VALUE object_type, VALUE flags)
|
213
211
|
{
|
214
212
|
GParamSpec* pspec;
|
215
213
|
pspec = g_param_spec_object(StringValuePtr(name),
|
@@ -222,7 +220,7 @@ object_initialize(self, name, nick, blurb, object_type, flags)
|
|
222
220
|
}
|
223
221
|
|
224
222
|
void
|
225
|
-
Init_gobject_gparamspecs()
|
223
|
+
Init_gobject_gparamspecs(void)
|
226
224
|
{
|
227
225
|
VALUE cParamSpec = GTYPE2CLASS(G_TYPE_PARAM);
|
228
226
|
VALUE c;
|
data/ext/glib2/rbgobj_value.c
CHANGED
@@ -72,10 +72,7 @@ rbgobj_gvalue_to_rvalue(const GValue* value)
|
|
72
72
|
case G_TYPE_DOUBLE:
|
73
73
|
return rb_float_new(g_value_get_double(value));
|
74
74
|
case G_TYPE_STRING:
|
75
|
-
|
76
|
-
const char* str = g_value_get_string(value);
|
77
|
-
return str ? rb_str_new2(str) : Qnil;
|
78
|
-
}
|
75
|
+
return CSTR2RVAL(g_value_get_string(value));
|
79
76
|
case G_TYPE_ENUM:
|
80
77
|
return rbgobj_make_enum(g_value_get_enum(value), type);
|
81
78
|
case G_TYPE_FLAGS:
|
@@ -249,7 +246,7 @@ rbgobj_rvalue_to_gvalue(VALUE val, GValue* result)
|
|
249
246
|
{
|
250
247
|
if (SYMBOL_P(val))
|
251
248
|
val = rb_funcall(val, id_to_s, 0);
|
252
|
-
g_value_set_string(result,
|
249
|
+
g_value_set_string(result, RVAL2CSTR_ACCEPT_NIL(val));
|
253
250
|
return;
|
254
251
|
}
|
255
252
|
case G_TYPE_OBJECT:
|
data/ext/glib2/rbgutil.c
CHANGED
data/lib/1.8/glib2.so
CHANGED
Binary file
|
data/lib/1.9/glib2.so
CHANGED
Binary file
|
data/lib/mkmf-gnome2.rb
CHANGED
@@ -90,6 +90,7 @@ def add_depend_package(target_name, target_srcdir, top_srcdir, options={})
|
|
90
90
|
unless File.exist?(target_build_dir_full_path)
|
91
91
|
target_build_dir_full_path = File.join(topdir, target_srcdir)
|
92
92
|
end
|
93
|
+
next unless File.exist?(target_build_dir_full_path)
|
93
94
|
$INCFLAGS = "-I#{target_build_dir_full_path} #{$INCFLAGS}"
|
94
95
|
|
95
96
|
if /cygwin|mingw/ =~ RUBY_PLATFORM
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 369
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 90
|
9
|
-
-
|
10
|
-
version: 0.90.
|
9
|
+
- 3
|
10
|
+
version: 0.90.3
|
11
11
|
platform: x86-mingw32
|
12
12
|
authors:
|
13
13
|
- The Ruby-GNOME2 Proejct Team
|
@@ -15,10 +15,23 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-23 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
|
-
dependencies:
|
21
|
-
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: pkg-config
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
22
35
|
description: Ruby/GLib2 is a Ruby binding of GLib-2.x.
|
23
36
|
email: ruby-gnome2-devel-en@lists.sourceforge.net
|
24
37
|
executables: []
|