ttate / jaist.ac.jp さんは書きました:
>僕はそうだと理解してます。
>markする関数を使うという以外だと、GC(Graphics Context?)
>はストラクチャかクラスにしてそのメンバにdisplay,windowを
>割り当てるというのはどうでしょうか?
>(ようするにRubyから見えるようにする。)

そうそう.これをやりたいのです.
でもやりかたが分からないんです.^^;
C レベルで具体的にはどう実装すればいいのですか?
教えてください.

>もしくはVALUEの値を持たせるのではなくWindow,Displayの
>型の値を持たせるという方法などはどうでしょう?
>VALUEの値がfreeされてもWindow,Displayまではfreeされない
>ので、、、、

私は最初は X の Window, Display 型の値を持たせてました.
でも,

  dis = Xlib::Display.new
  win = Xlib::Window.new dis,320,200
..
  dis2 = win.display

というようなことをやったときに

  (dis == dis2) => true

であってほしいわけです.
だから Xlib::Window クラスのインスタンスは親ディスプレイ
を表す Ruby オブジェクトを保持しなければならない,と.

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