From: Masahiro S. ()
<sa...@to...> - 2003-10-21 16:30:15
|
さかいです。 返事が遅くなってすいません。 From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Re: [ruby-gnome2-devel-ja] Ruby/GTK2チュートリアル Date: Tue, 14 Oct 2003 22:43:04 +0900 > むとうです。 > > signal_emitの件ですが、対応してみました。 > #2ヶ月も放置してすみません どうもありがとうございます。 > glibの方にも手を入れました。 > 一応動いてはいるのですが、 > イマイチわかってないので間違えてるかも。 > > 確認よろしくです。>さかいさん というわけで…… | Index: rbgobj_signal.c | =================================================================== | RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_signal.c,v | retrieving revision 1.39 | retrieving revision 1.40 | diff -u -d -r1.39 -r1.40 | --- rbgobj_signal.c 23 Sep 2003 05:23:02 -0000 1.39 | +++ rbgobj_signal.c 14 Oct 2003 13:30:24 -0000 1.40 | @@ -302,9 +302,11 @@ | { | GValue* params = arg->instance_and_params->values + 1; | int i; | + VALUE val; | for (i = 0; i < arg->query.n_params; i++){ | - g_value_init(params + i, arg->query.param_types[i]); | - rbgobj_rvalue_to_gvalue(rb_ary_entry(arg->args, i), params + i); | + val = rb_ary_entry(arg->args, i); | + g_value_init(params + i, RVAL2GTYPE(val)); | + rbgobj_rvalue_to_gvalue(val, params + i); | } | } ここでRVAL2GTYPEを使うのはまずいです。 # nilが渡ってきたりしたときに引数からGTypeを決定出来ないので たしかにこの変更で Segmentation Fault しなくなったんですが、 何でなのか私にはサッパリわからないので、少し説明してもらえませんか? それと、↓の変更って全然意味がないような…… | Index: rbgdkevent.c | =================================================================== | RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src/rbgdkevent.c,v | retrieving revision 1.35 | retrieving revision 1.36 | diff -u -d -r1.35 -r1.36 | --- rbgdkevent.c 30 Aug 2003 18:40:02 -0000 1.35 | +++ rbgdkevent.c 14 Oct 2003 13:34:08 -0000 1.36 | @@ -608,9 +608,9 @@ | | /* MISC */ | static VALUE | -gdkevent_g2r(const GValue *from) | +gdkevent_g2r(const GValue *values) | { | - return make_gdkevent(g_value_get_boxed(from)); | + return make_gdkevent(g_value_get_boxed(&values[0])); | } | | void -- 酒井 政裕 / Masahiro Sakai |