From: Masao M. <mu...@hi...> - 2003-10-13 13:31:20
|
むとうです。 遅くなりました。 On Sun, 12 Oct 2003 14:04:32 +0900 KATO Kazuyoshi <kz...@us...> wrote: > 和良です。 > > gtk/sample/misc/pointer_grab.rb で「Grab Window!」をクリックすると > SEGV になります。 > > ちょっと追ってみたんですけど、 > rbgobj_get_enum(glib/src/rbgobj_enums.c) の > enum_get_holder(obj)->value->value としている部分で > enum_get_holder(obj)->value が変な場所を指してるっぽいです。 すみません。 これ、Gdk.pointer_grabでRVAL2FLAGSを指定すべきところでRVAL2GENUMを 指定してました。 #なんか、他にもありそうな予感(^^;)。 CVS上では直しておきましたが、念のためパッチです。 Index: rbgdk.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src/rbgdk.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- rbgdk.c 29 Aug 2003 19:14:53 -0000 1.28 +++ rbgdk.c 13 Oct 2003 13:28:28 -0000 1.29 @@ -146,7 +146,7 @@ { return GENUM2RVAL(gdk_pointer_grab(GDK_WINDOW(RVAL2GOBJ(win)), RTEST(owner_events), - RVAL2GENUM(event_mask, GDK_TYPE_EVENT_MASK), + RVAL2GFLAGS(event_mask, GDK_TYPE_EVENT_MASK), NIL_P(confine_to)?NULL:GDK_WINDOW(RVAL2GOBJ(confine_to)), NIL_P(cursor)?NULL:(GdkCursor*)RVAL2BOXED(cursor, GDK_TYPE_CURSOR), NUM2INT(time)), GDK_TYPE_GRAB_STATUS); -- .:% Masao Mutoh<mu...@hi...> |