もりきゅうです.

Ruby/GTK の GdkImlib にバグがありましたので,パッチを書きました.
(ruby-gtk-0.12.tar.gz)
内容は次の通り.

GdkImlib::Image.get_pixmap:
  GdkImlib::Image を要素に持つ Array を返していました.
  ここは Gdk::Pixmap, Gdk::Bitmap (の Array) のはず.
例えば,こんなふうにすると Gtk-WARNING がでます.
--
im = GdkImlib::load_image(filename)
pmap, mask = im.get_pixmap
p pmap

pmap, mask = pmap.get_pixmap # ok?
p pmap

pixmap = Gtk::Pixmap.new(pmap, mask) # warning!
pixmap.show
--


=patch
--- rbgdkimlib.c.orig	Tue Sep 28 17:58:34 1999
+++ rbgdkimlib.c	Tue Sep 28 18:29:33 1999
@@ -807,8 +807,9 @@
     pixmap = gdk_imlib_move_image(im);
     mask = gdk_imlib_move_mask(im);
 
-    pixmap_data = Data_Wrap_Struct(cImlibImage, 0, gdk_imlib_free_pixmap, pixmap);
-    mask_data = Data_Wrap_Struct(cImlibImage, 0, 0, mask);
+printf("%ld\n", gdkPixmap);
+    pixmap_data = Data_Wrap_Struct(gdkPixmap, 0, gdk_imlib_free_pixmap, pixmap);
+    mask_data = Data_Wrap_Struct(gdkBitmap, 0, 0, mask);
     return rb_assoc_new(pixmap_data, mask_data);
 }
 
=end

----
Kazuhiro Yoshida  moriq / ma2.seikyou.ne.jp