From: Masao M. <mu...@hi...> - 2004-11-21 14:27:05
|
むとうです。 On Sun, 21 Nov 2004 19:22:21 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "[ruby-gnome2-devel-ja] Ruby/RSVG, Ruby/GnomePrintUI" on Sat, 20 Nov 2004 22:41:51 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > 1. Ruby/RSVG > > > > Error domain(GQuark)が用意されているものの異常処理には > > G_DEF_ERROR(2), RAISE_GERRORの組み合わせを使っていただ > > いた方が他のライブラリとの整合性が取れますので、できれば > > そうしていただければと思います。 > > そうしました. > > ただ,RSVG_TYPE_ERRORが定義されていなかったので, > Ruby/GnomePrintUIと同じように,extconf.rbがglib-mkenumsを使っ > てlibrsvg-enum-types.{c,h}を生成して,RSVG_TYPE_ERRORを用意 > するようにしました. それはそれで全然問題ないのです。が、もう一つやり方があります。 実はG_DEF_ERRORで使うenum値はGEnum/GTypeが定義されてないものも結構 多いので、値(code)としてはGLib::Enum/Typeではなく、int値を返す仕様 になっています。 したがってそのような場合はG_DEF_ERROR2を使って頂いて定数自体は rb_define_constを使うような実装にしています。 > # あ,そういえば,libgnomeprintui側で > # libgnomeprintui-enum-types.hを提供してくれそうです. それは朗報ですね。 > > 2. Ruby/GnomePrintUI > > > > サンプルでプレビューウインドウを開いた後に×で閉じると > > (dialog.rb:18161): GLib-GObject-CRITICAL **: file gobject.c: line 1579 (g_object_unref): assertion `G_IS_OBJECT (object)' failed > > > > というエラーが標準出力に出力されます。 > > プレビューウインドウをg_object_refするようにしました. > ただ,これをしてよいものなのかどうか... ひとまずエラーが出ないようにするというので悪くは無いと思います。 が、しかし、久保さんのお話にもあるように、一度全般的に見直さないと いけないなぁ、という、まさにそんな過渡期になっちゃってますね(^^;)。 -- .:% Masao Mutoh<mu...@hi...> |