山崎です。
Paned (rbgtkcontainer.c) に関して、以下のパッチを使って下さい。
理由は、[ruby-ext:00569] "(ruby/gtk) オブジェクトの ID" によるものです。
こうしないと、ID が変わってしまうだけでなく、child に widget class の
サブクラスを使っていた場合に不具合が生じます。
diff -u rbgtkcontainer.orig.c rbgtkcontainer.c
--- rbgtkcontainer.orig.c Thu Mar 30 13:37:00 2000
+++ rbgtkcontainer.c Thu Mar 30 13:37:56 2000
@@ -702,7 +702,7 @@
VALUE self;
{
GtkWidget *child = GTK_PANED(get_widget(self))->child1;
- return (child == NULL) ? Qnil : make_gobject_auto_type(GTK_OBJECT(child));
+ return (child == NULL) ? Qnil : get_value_from_gobject(GTK_OBJECT(child));
}
static VALUE
@@ -710,7 +710,7 @@
VALUE self;
{
GtkWidget *child = GTK_PANED(get_widget(self))->child2;
- return (child == NULL) ? Qnil : make_gobject_auto_type(GTK_OBJECT(child));
+ return (child == NULL) ? Qnil : get_value_from_gobject(GTK_OBJECT(child));
}
static VALUE