From: Masao M. <mu...@hi...> - 2003-07-10 16:06:10
|
むとうです。 On Fri, 11 Jul 2003 00:30:27 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > さかいです。 > > From: Masao Mutoh <mu...@hi...> > Subject: Re: [ruby-gnome2-devel-ja] Accept rb_cObject as G_TYPE_POINTER? > Date: Thu, 10 Jul 2003 23:03:24 +0900 > > > むとうです。 > > > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > > > 危険ではないでしょうか? > > > > rbgobj_gvalue_to_rvalue()に渡されるGValue値でgpointerに渡される > > VALUE以外の値は無いんじゃないのかなぁ、と思いそのようにしました。 > > あったらバグかなと。 > > 例えば、GCされたVALUEが渡って来る可能性はどうでしょうか? ですからその場合はバグなのかなと。 実は私もその部分をうまく保証できる方法はないかなと 考えてるんですが、良いアイデアないですかね....。 > > 一部、シグナル等でgpointerが返ってくるのがあるのですが、それは呼び出し元 > > で適切なオブジェクトに独自に変換しますよね。 > > そういうのはrbgobj_gvalue_to_rvalue()を使いませんし。 > > > > ex) > > gtk/src/rbgtknotebook.cのsignal_g2r_func(num, values) > > そのような変換を必ず実装しなくてはいけなくなるのは > 個人的には結構嫌です。 でも、それをしないとRuby側から使えないですよね。 > > つまり、GLib::Pointerっていらないんじゃないかなと。 > > GLib::Pointerのまま返されてもRuby側では使えないですしね。 > > RubyレベルからはOpaqueだというだけで、 > その値を使ってGLibやGtkの機能を呼び出せるのであれば、 > 存在意義はあるのではないかと思います。 少なくとも、今まで実装した範囲では、そのような引数を受ける 機能はないです。 そのような実装は具体的にありそうなのでしょうか? #私はないと思っています。 -- .:% Masao Mutoh<mu...@hi...> |