|
From: Masao M. <mu...@hi...> - 2002-06-22 14:23:51
|
むとうです。 On Sat, 22 Jun 2002 17:07:57 +0900 Masahiro Sakai <s01...@sf...> wrote: > さかいです。 > > From: Masao Mutoh <mu...@hi...> > Subject: Re: [ruby-gnome2-devel-ja] Re: GLib2読んでみました > Date: Thu, 20 Jun 2002 22:02:56 +0900 > ちなみに、不足しているのはGObjectを継承したタイプのためのコードではなくて、 > むしろGBoxedとかGEnumとかGFlagとかそっちの方面です。 > 後はgdkの各種構造体の扱いの変更。 了解です。 > gtk的な意味での「親」は子のリファレンスを持っている内の一人に過ぎないので、 > 「親」が独占的に管理しているというわけでは無いと思います。 なるほど。 > GtkObjectが異なるのは、newされた時点では誰にもownされていないという事 > だけで。しかし、誰にもownされていないからといってリファレンスカウンタ > を0にしておくというのも都合が悪いので、ちゃんとした身元引受人が一人で > も見つかるまでの便宜的なものとして floating reference という概念をgtk > は導入しているわけです。 > > なので、一度誰かにownされてfloating状態が解消されてしまえば、 > 後はGObjectと同じように扱えるはずです。 > > 僕のset_gobject()のコードの意図はまさにそれで、 > ref/sinkしてやることでGObjectと区別せずに扱えることを意図しています。 > # 特に、Ruby側のオブジェクトがGCされるときに > # GtkObjectをGObjectから区別せずにunref出来るようになる点が重要。 了解です。 > > > ところで、この辺りのAPIを整理しようと > > > gtkディレクトリとgnomeディレクトリのソースを眺めていて、 > > > make_gobject()が思いの外使われていることに気が付きました。 > (snip) > > コードの中身を見ても、あまり理由はないと思うんですけどね...。 > > 特に私以外の方からコメントが無ければ、まずは廃止してしまいましょう。 > > どうしても必要な場合は逆に復活させればすむ話ですし。 > > 廃止してしまいました。 > > # 自分でcommitしておいてアレですが、少し急ぎすぎました。 > # もう少しコメントを待つべきでしたね。 > # すいません。 いや、いいですよ。CVSで管理してるから戻そうと思えばすぐ戻せますし。 > > ところで、結構議論が進んできたと思いますが、また、実装の方も > > さかいさんの方にお願いしちゃっても良いですか? > > コメントしかしていなくて恐縮ですが、しばらくはさかいさんに > > Ownerになっていただいていた方が良いと思いますので....。 > > とりあえず、今議論している辺りは僕の方で実装したいと思ってます。 お願いしますね! -- .:% Masao Mutoh<mu...@hi...> |