From: Masao M. <mu...@hi...> - 2003-10-03 17:04:22
|
むとうです。 質問です。 [ 814787 ] Memory leak in Gdk::Pixbuf http://sourceforge.net/tracker/index.php?func=detail&aid=814787&group_id=53614&atid=470969 の件で、確認をしているのですが、 確かに上記にあるサンプルを動かすと画面が固まります。 でも、GC.startを入れれば正常に動作します。 #!/usr/bin/env/ruby require 'gnome2' Gtk.init app = Gtk::Window.new img = Gtk::Image.new app.add img.show app.show file = ARGV[0] Thread.new do 300.times do pb = Gdk::Pixbuf.new(file) img.pixbuf = pb GC.start #p pb.ref_count #(1) end end Gtk.main で、これの考え方なんですが、 「GC.startをすればメモリリークが起きないのであれば Ruby-GNOME2としては問題ない」 と考えて良いのですかね? あと、(1)でref_countの値が2のままだと指摘されて ますが(たぶん)、これは、 img.pixbuf = pb で + 1される pb.ref_countのGOBJ2RVALで+1される から、2で問題ないですよね? この辺りになるととたんに自信がなくなるむとうでした。 #今日のワンコ風 -- .:% Masao Mutoh<mu...@hi...> |