From: Masao M. <mu...@hi...> - 2006-10-12 16:36:08
|
須藤さん むとうです。 いつもバグ修正、ありがとうございます。 1点確認させてください。 今日、libglade2.rbに当てられたパッチですが、 これの意図についてです。 @sources ||= {} @sources[source.object_id] = source source.signal_connect("destroy") do |object| @sources.delete(object.object_id) end この部分だけみると、確かに問題の回避はできてると 思うのですが、これって要は 1. グローバル(といってもGladeXMLクラスの内部)な領域に ウィジェットを保持。GCを避ける 2. destroyイベントのタイミングでオブジェクトを削除。 その後、GC対象となる ということをしてるんですよね。 これって、libglade2だけの問題ですか? ぱっと見たところ、GLib::Objectのインスタンスなら全てが 該当しそうな気がしたので質問させて頂きました。 ではでは。 -- .:% Masao Mutoh<mu...@hi...> |