You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(32) |
Jun
(60) |
Jul
(52) |
Aug
(67) |
Sep
(167) |
Oct
(186) |
Nov
(173) |
Dec
(220) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(37) |
Feb
(66) |
Mar
(89) |
Apr
(71) |
May
(32) |
Jun
(61) |
Jul
(64) |
Aug
(99) |
Sep
(33) |
Oct
(31) |
Nov
(50) |
Dec
(41) |
2004 |
Jan
(9) |
Feb
(9) |
Mar
(25) |
Apr
(23) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(9) |
Sep
(1) |
Oct
(31) |
Nov
(38) |
Dec
|
2005 |
Jan
(16) |
Feb
(49) |
Mar
(14) |
Apr
(1) |
May
|
Jun
(12) |
Jul
(25) |
Aug
(18) |
Sep
(48) |
Oct
(76) |
Nov
(20) |
Dec
|
2006 |
Jan
(16) |
Feb
(12) |
Mar
(4) |
Apr
(5) |
May
(77) |
Jun
(37) |
Jul
(15) |
Aug
|
Sep
(3) |
Oct
(15) |
Nov
(7) |
Dec
(27) |
2007 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
(7) |
Jun
(18) |
Jul
(44) |
Aug
(12) |
Sep
(1) |
Oct
(13) |
Nov
(15) |
Dec
(5) |
2008 |
Jan
|
Feb
|
Mar
(16) |
Apr
(2) |
May
(8) |
Jun
(1) |
Jul
|
Aug
|
Sep
(8) |
Oct
(6) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(2) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(3) |
2010 |
Jan
(8) |
Feb
(8) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(17) |
Oct
(7) |
Nov
(3) |
Dec
|
2011 |
Jan
(34) |
Feb
(47) |
Mar
(12) |
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
(20) |
Aug
(4) |
Sep
(31) |
Oct
(16) |
Nov
(26) |
Dec
(40) |
2012 |
Jan
(10) |
Feb
(8) |
Mar
|
Apr
(5) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(8) |
2013 |
Jan
(2) |
Feb
(33) |
Mar
(21) |
Apr
(10) |
May
(29) |
Jun
(19) |
Jul
(6) |
Aug
(4) |
Sep
|
Oct
(21) |
Nov
(21) |
Dec
(7) |
2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
|
Jul
|
Aug
(5) |
Sep
(23) |
Oct
(29) |
Nov
(2) |
Dec
(1) |
2015 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(8) |
From: Masahiro S. ()
<sa...@to...> - 2003-07-15 04:53:01
|
さかいです。 From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] FW:Re: [ruby-gnome2-devel-en] Segmentation fault in rbbr from cvs Date: Tue, 15 Jul 2003 01:24:10 +0900 > むとうです。 > いやぁ、良かったです。無事、動いています。 > p Gtk::Buttonが落ちるってとこまではわかってたんですけどねぇ。 > それから先がダメだったんですよ。 > さかいさんは、こういう時ってデバッグどういう風にやられてるんですか? > #どうも、こういうバグを見つけるのは苦手で....。 Cygwinのgdbでlibrubyのシンボルが正しく表示されなかったので、 今回はprintfデバッグです (^^; # 実は最初はRubyのバグだと思いました。 librubyにprintfを大量に埋め込んだ結果、 variable.cのfc_i()からTYPE()に0x6eという不正な値が渡されている、 すなわち定数のVALUEが壊れている壊れている事が分かりました。 そこで、とりあえずrb_define_const()に0x6eが渡されて来たら その名前を表示するようにしてみて、今回のバグに行き当たりました。 -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2003-07-14 16:24:16
|
むとうです。 On Tue, 15 Jul 2003 00:27:24 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > さかいです。 > > From: Masao Mutoh <mu...@hi...> > Subject: [ruby-gnome2-devel-ja] FW:Re: [ruby-gnome2-devel-en] Segmentation fault in rbbr from cvs > Date: Mon, 14 Jul 2003 23:57:42 +0900 > > > むとうです。 > > > > ひょっとして、表題の件って、さっきのcommitで > > 直して頂いちゃいました? > > こっちは rbbr とは関係なく、 > anonymous class を inspect した時に落ちる原因を追っていたのですが、 > そっか、同じ原因だったんですね。 > > よかったよかった。 いやぁ、良かったです。無事、動いています。 p Gtk::Buttonが落ちるってとこまではわかってたんですけどねぇ。 それから先がダメだったんですよ。 さかいさんは、こういう時ってデバッグどういう風にやられてるんですか? #どうも、こういうバグを見つけるのは苦手で....。 ではでは。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2003-07-14 15:25:37
|
さかいです。 From: Masao Mutoh <mu...@hi...> Subject: [ruby-gnome2-devel-ja] FW:Re: [ruby-gnome2-devel-en] Segmentation fault in rbbr from cvs Date: Mon, 14 Jul 2003 23:57:42 +0900 > むとうです。 > > ひょっとして、表題の件って、さっきのcommitで > 直して頂いちゃいました? こっちは rbbr とは関係なく、 anonymous class を inspect した時に落ちる原因を追っていたのですが、 そっか、同じ原因だったんですね。 よかったよかった。 -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2003-07-14 14:57:50
|
さかいさん むとうです。 ひょっとして、表題の件って、さっきのcommitで 直して頂いちゃいました? うーん、昨日一日悩んで見つけられなかったのに....ぐやぢい(T_T)。 けど、助かりましたです。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2003-07-13 10:28:48
|
さかい%現実逃避中 です。 From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Accept rb_cObject as G_TYPE_POINTER? Date: Sat, 12 Jul 2003 23:01:41 +0900 > むとうです。 > > On Sat, 12 Jul 2003 18:58:31 +0900 (JST) > Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > > ちょっと試してみた限りでは、問題なさそうな感じです。 > > ありがとうございます。助かりました。 > > これでチェックインしていただけますか? チェックインしときました。 -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2003-07-12 14:01:47
|
むとうです。 On Sat, 12 Jul 2003 18:58:31 +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: Sat, 12 Jul 2003 01:32:30 +0900 > > > むとうです。 > > > > そもそもgpointerにVALUEを格納しようとするのが無謀のような気がします。 > > > メモリ管理の出来るGBoxedの派生タイプで扱うのはダメなんでしょうか? > > > こんな事もあろうかと、そのためのタイプを用意してあります。 > > > # 実装はまだちょっといい加減だけど (^^; > > > > > > | #define RBGOBJ_TYPE_RUBY_VALUE (rbgobj_ruby_value_get_type()) > > > | extern GType rbgobj_ruby_value_get_type(); > > > | extern VALUE g_value_get_ruby_value(const GValue* value); > > > | extern void g_value_set_ruby_value(GValue* value, VALUE ruby); > > > > なるほど。ちょっと見てみます。 > > G_RELATIVE2を毎回使うのは骨が折れるのでこれでうまく行くようなら > > 乗り換えさせていただきます。 > > ちょっと試してみた限りでは、問題なさそうな感じです。 ありがとうございます。助かりました。 これでチェックインしていただけますか? -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2003-07-12 09:58:41
|
さかい%現実逃避中 です。 From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Accept rb_cObject as G_TYPE_POINTER? Date: Sat, 12 Jul 2003 01:32:30 +0900 > むとうです。 > > そもそもgpointerにVALUEを格納しようとするのが無謀のような気がします。 > > メモリ管理の出来るGBoxedの派生タイプで扱うのはダメなんでしょうか? > > こんな事もあろうかと、そのためのタイプを用意してあります。 > > # 実装はまだちょっといい加減だけど (^^; > > > > | #define RBGOBJ_TYPE_RUBY_VALUE (rbgobj_ruby_value_get_type()) > > | extern GType rbgobj_ruby_value_get_type(); > > | extern VALUE g_value_get_ruby_value(const GValue* value); > > | extern void g_value_set_ruby_value(GValue* value, VALUE ruby); > > なるほど。ちょっと見てみます。 > G_RELATIVE2を毎回使うのは骨が折れるのでこれでうまく行くようなら > 乗り換えさせていただきます。 ちょっと試してみた限りでは、問題なさそうな感じです。 -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2003-07-11 16:35:29
|
むとうです。 On Fri, 11 Jul 2003 00:19:58 +0900 Nobuyoshi Nakada <nob...@so...> wrote: > なかだです。 > > At Thu, 10 Jul 2003 23:54:57 +0900, > Masao Mutoh wrote: > > > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > > > > 危険ではないでしょうか? > > > > > > RCLASS()->superをリストとしてたどるので、そこにNULL以外のポイン > > > タとして不正な値が来ればSEGVします。 > > > > あら?さっきの書き方がまずかったかな。 > > すいません、その前のを見落としてました。 > > > 今のところ、正しいVALUEしか来ないと思ってるのですが...。 > > ということであれば、rb_obj_is_kind_of(ptr, rb_cObject)は常に真 > です。 あ〜。ってことはそのif文すらいらないですね。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2003-07-11 16:32:44
|
むとうです。 On Fri, 11 Jul 2003 14:07:08 +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: Fri, 11 Jul 2003 01:05:59 +0900 > > > むとうです。 > > > > > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > > > > > 危険ではないでしょうか? > > > > > > > > rbgobj_gvalue_to_rvalue()に渡されるGValue値でgpointerに渡される > > > > VALUE以外の値は無いんじゃないのかなぁ、と思いそのようにしました。 > > > > あったらバグかなと。 > > > > > > 例えば、GCされたVALUEが渡って来る可能性はどうでしょうか? > > > > ですからその場合はバグなのかなと。 > > devel-enで話題になっている TreeIter#(set|get)_value にも、 > その「バグ」がありますね。 はい。だから昨日は↓なことを書いたのですが、 とりあえず、G_RELATIVE2を使って回避しました。CVSにはあげてないですが。 > > 実は私もその部分をうまく保証できる方法はないかなと > > 考えてるんですが、良いアイデアないですかね....。 > > そもそもgpointerにVALUEを格納しようとするのが無謀のような気がします。 > メモリ管理の出来るGBoxedの派生タイプで扱うのはダメなんでしょうか? > こんな事もあろうかと、そのためのタイプを用意してあります。 > # 実装はまだちょっといい加減だけど (^^; > > | #define RBGOBJ_TYPE_RUBY_VALUE (rbgobj_ruby_value_get_type()) > | extern GType rbgobj_ruby_value_get_type(); > | extern VALUE g_value_get_ruby_value(const GValue* value); > | extern void g_value_set_ruby_value(GValue* value, VALUE ruby); なるほど。ちょっと見てみます。 G_RELATIVE2を毎回使うのは骨が折れるのでこれでうまく行くようなら 乗り換えさせていただきます。 > > > > 一部、シグナル等でgpointerが返ってくるのがあるのですが、それは呼び出し元 > > > > で適切なオブジェクトに独自に変換しますよね。 > > > > そういうのはrbgobj_gvalue_to_rvalue()を使いませんし。 > > > > > > > > ex) > > > > gtk/src/rbgtknotebook.cのsignal_g2r_func(num, values) > > > > > > そのような変換を必ず実装しなくてはいけなくなるのは > > > 個人的には結構嫌です。 > > > > でも、それをしないとRuby側から使えないですよね。 > > 私はGLib::Pointerのままでも意味が無いとは思っていませんが、 > それはさておき、そのような変換を実装しないと、 > 特定の機能が使えないのは当然ですし、それは仕方がないです。 > > ですが、むとうさんの現在のコードは、それだけではなく、 > これまでの「便利に使うために例外的に変換を実装する」から、 > 「きちんと動作する(SEGVらない)ために変換を常に実装しなくてはならない」 > に方針が実質的に変わる事を意味します。 > > これによって > * デフォルトを危険側に傾けることになる > * 実現したい機能が特に無い場合にも変換を実装しなくてはいけない > ことになるわけですが、これは本末転倒ではないでしょうか? 確かにそうですねぇ。 でも、逆に、「実装しなければいけない」に倒せば 修正しないといけない、というモチベーションが あがるかもしれません....いや冗談です;)。 > > > > つまり、GLib::Pointerっていらないんじゃないかなと。 > > > > GLib::Pointerのまま返されてもRuby側では使えないですしね。 > > > > > > RubyレベルからはOpaqueだというだけで、 > > > その値を使ってGLibやGtkの機能を呼び出せるのであれば、 > > > 存在意義はあるのではないかと思います。 > > > > 少なくとも、今まで実装した範囲では、そのような引数を受ける > > 機能はないです。 > > そのような実装は具体的にありそうなのでしょうか? > > #私はないと思っています。 > > すぐに思い付くのは > Gtk::Object#user_data > Gtk::Object#user_data= > とか。他にもあると思うけど。 すくなくとも上記二つはdeprecatedです。 CVS最新版では、わざわざundefしてます。 というのは置いておいて、仮に上記二つを実装するとして、 引数にGLib::Pointerを受け付ける形にはしないと思うんですよね。 GLib::Pointerにしてしまったら何にも使えないですし。 やはり、今回のように(実装方法はともかく)VALUEを 渡すようにすると思います。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2003-07-11 05:04:59
|
さかいです。 From: Masao Mutoh <mu...@hi...> Subject: Re: [ruby-gnome2-devel-ja] Accept rb_cObject as G_TYPE_POINTER? Date: Fri, 11 Jul 2003 01:05:59 +0900 > むとうです。 > > > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > > > > 危険ではないでしょうか? > > > > > > rbgobj_gvalue_to_rvalue()に渡されるGValue値でgpointerに渡される > > > VALUE以外の値は無いんじゃないのかなぁ、と思いそのようにしました。 > > > あったらバグかなと。 > > > > 例えば、GCされたVALUEが渡って来る可能性はどうでしょうか? > > ですからその場合はバグなのかなと。 devel-enで話題になっている TreeIter#(set|get)_value にも、 その「バグ」がありますね。 > 実は私もその部分をうまく保証できる方法はないかなと > 考えてるんですが、良いアイデアないですかね....。 そもそもgpointerにVALUEを格納しようとするのが無謀のような気がします。 メモリ管理の出来るGBoxedの派生タイプで扱うのはダメなんでしょうか? こんな事もあろうかと、そのためのタイプを用意してあります。 # 実装はまだちょっといい加減だけど (^^; | #define RBGOBJ_TYPE_RUBY_VALUE (rbgobj_ruby_value_get_type()) | extern GType rbgobj_ruby_value_get_type(); | extern VALUE g_value_get_ruby_value(const GValue* value); | extern void g_value_set_ruby_value(GValue* value, VALUE ruby); > > > 一部、シグナル等でgpointerが返ってくるのがあるのですが、それは呼び出し元 > > > で適切なオブジェクトに独自に変換しますよね。 > > > そういうのはrbgobj_gvalue_to_rvalue()を使いませんし。 > > > > > > ex) > > > gtk/src/rbgtknotebook.cのsignal_g2r_func(num, values) > > > > そのような変換を必ず実装しなくてはいけなくなるのは > > 個人的には結構嫌です。 > > でも、それをしないとRuby側から使えないですよね。 私はGLib::Pointerのままでも意味が無いとは思っていませんが、 それはさておき、そのような変換を実装しないと、 特定の機能が使えないのは当然ですし、それは仕方がないです。 ですが、むとうさんの現在のコードは、それだけではなく、 これまでの「便利に使うために例外的に変換を実装する」から、 「きちんと動作する(SEGVらない)ために変換を常に実装しなくてはならない」 に方針が実質的に変わる事を意味します。 これによって * デフォルトを危険側に傾けることになる * 実現したい機能が特に無い場合にも変換を実装しなくてはいけない ことになるわけですが、これは本末転倒ではないでしょうか? > > > つまり、GLib::Pointerっていらないんじゃないかなと。 > > > GLib::Pointerのまま返されてもRuby側では使えないですしね。 > > > > RubyレベルからはOpaqueだというだけで、 > > その値を使ってGLibやGtkの機能を呼び出せるのであれば、 > > 存在意義はあるのではないかと思います。 > > 少なくとも、今まで実装した範囲では、そのような引数を受ける > 機能はないです。 > そのような実装は具体的にありそうなのでしょうか? > #私はないと思っています。 すぐに思い付くのは Gtk::Object#user_data Gtk::Object#user_data= とか。他にもあると思うけど。 -- 酒井 政裕 / Masahiro Sakai |
From: Nobuyoshi N. <nob...@so...> - 2003-07-10 18:21:23
|
なかだです。 At Thu, 10 Jul 2003 23:54:57 +0900, Masao Mutoh wrote: > > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > > > 危険ではないでしょうか? > > > > RCLASS()->superをリストとしてたどるので、そこにNULL以外のポイン > > タとして不正な値が来ればSEGVします。 > > あら?さっきの書き方がまずかったかな。 すいません、その前のを見落としてました。 > 今のところ、正しいVALUEしか来ないと思ってるのですが...。 ということであれば、rb_obj_is_kind_of(ptr, rb_cObject)は常に真 です。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦 |
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...> |
From: Masahiro S. ()
<sa...@to...> - 2003-07-10 15:30:57
|
さかいです。 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) そのような変換を必ず実装しなくてはいけなくなるのは 個人的には結構嫌です。 > つまり、GLib::Pointerっていらないんじゃないかなと。 > GLib::Pointerのまま返されてもRuby側では使えないですしね。 RubyレベルからはOpaqueだというだけで、 その値を使ってGLibやGtkの機能を呼び出せるのであれば、 存在意義はあるのではないかと思います。 > 実は、上記も、あえてrbobj_ptr_newを残しましたが、それもいらないん > じゃないかなぁと思うのですが、どうでしょうか。 もし仮にptrが常に正しいVALUEならば、 rb_obj_is_kind_of(ptr, rb_cObject) は恒真なので、そういう意味では要らないでしょう。 -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2003-07-10 14:55:04
|
むとうです。 On Thu, 10 Jul 2003 23:45:03 +0900 Nobuyoshi Nakada <nob...@so...> wrote: > なかだです。 > > At Thu, 10 Jul 2003 14:03:47 +0900 (JST), > Masahiro Sakai (酒井政裕) wrote: > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > > 危険ではないでしょうか? > > RCLASS()->superをリストとしてたどるので、そこにNULL以外のポイン > タとして不正な値が来ればSEGVします。 あら?さっきの書き方がまずかったかな。 今のところ、正しいVALUEしか来ないと思ってるのですが...。 -- .:% Masao Mutoh<mu...@hi...> |
From: Nobuyoshi N. <nob...@so...> - 2003-07-10 14:45:13
|
なかだです。 At Thu, 10 Jul 2003 14:03:47 +0900 (JST), Masahiro Sakai (酒井政裕) wrote: > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > 危険ではないでしょうか? RCLASS()->superをリストとしてたどるので、そこにNULL以外のポイン タとして不正な値が来ればSEGVします。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦 |
From: Masao M. <mu...@hi...> - 2003-07-10 14:03:31
|
むとうです。 On Thu, 10 Jul 2003 14:03:47 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > さかいです。 > > Modified Files: > > rbgobj_type.c rbgobj_value.c rbgobj_valuetypes.c > > Log Message: > > * src/rbgobj_value.c, rbgobj_value_types.c, rbgobj_type.c: > > Accept rb_cObject as G_TYPE_POINTER. > (snip) > > gpointer ptr = g_value_get_pointer(value); > > if (!ptr) > > return Qnil; > > - else > > - return rbgobj_ptr_new(G_VALUE_TYPE(value), ptr); > > + else{ > > + if (rb_obj_is_kind_of(ptr, rb_cObject)){ > > 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは > 危険ではないでしょうか? rbgobj_gvalue_to_rvalue()に渡されるGValue値でgpointerに渡される VALUE以外の値は無いんじゃないのかなぁ、と思いそのようにしました。 あったらバグかなと。 一部、シグナル等でgpointerが返ってくるのがあるのですが、それは呼び出し元 で適切なオブジェクトに独自に変換しますよね。 そういうのはrbgobj_gvalue_to_rvalue()を使いませんし。 ex) gtk/src/rbgtknotebook.cのsignal_g2r_func(num, values) つまり、GLib::Pointerっていらないんじゃないかなと。 GLib::Pointerのまま返されてもRuby側では使えないですしね。 実は、上記も、あえてrbobj_ptr_newを残しましたが、それもいらないん じゃないかなぁと思うのですが、どうでしょうか。 なんかまたスゲー勘違いしてます?(いつものコトですが(^^;))。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2003-07-10 05:02:17
|
さかいです。 From: Masao Mutoh <mu...@us...> Subject: [ruby-gnome2-cvs] CVS: ruby-gnome2/glib/src rbgobj_type.c,1.33,1.34 rbgobj_value.c,1.17,1.18 rbgobj_valuetypes.c,1.6,1.7 Date: Wed, 09 Jul 2003 10:31:18 -0700 > Modified Files: > rbgobj_type.c rbgobj_value.c rbgobj_valuetypes.c > Log Message: > * src/rbgobj_value.c, rbgobj_value_types.c, rbgobj_type.c: > Accept rb_cObject as G_TYPE_POINTER. (snip) > Index: rbgobj_value.c > =================================================================== > RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_value.c,v > retrieving revision 1.17 > retrieving revision 1.18 > diff -u -d -r1.17 -r1.18 > --- rbgobj_value.c 1 Feb 2003 16:03:09 -0000 1.17 > +++ rbgobj_value.c 9 Jul 2003 17:31:16 -0000 1.18 > @@ -90,8 +90,24 @@ > gpointer ptr = g_value_get_pointer(value); > if (!ptr) > return Qnil; > - else > - return rbgobj_ptr_new(G_VALUE_TYPE(value), ptr); > + else{ > + if (rb_obj_is_kind_of(ptr, rb_cObject)){ 正しいVALUEかどうかわからないポインタにrb_obj_is_kind_of()を適用するのは 危険ではないでしょうか? -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2003-07-07 17:54:17
|
むとうです。 Ruby-GNOME2 Tipsに「日本語の扱いと国際化」「シグナルの動きを調べる」 を書いてみました。 添削キボー。 http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?Ruby-GNOME2+Tips ----- 次バージョンのHikiではページIDとページタイトルという概念が導入されます。 #今まではページID = ページタイトルでした。 これが導入されると、ページのキー項目(とファイル名)はページIDに、 タイトルはページタイトルになります。 URLにはページIDが使われるので%いっぱいの文字を書かずに済むようになります。 http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?tips_i18n で、今回、この2つのTipsには、それぞれtips_i18n、tips_signalという ページID(=ページタイトル)を付けてます。 現状、Recent Pagesが見苦しい形になりますが、次バージョンのHikiが 出たら、ページタイトルを追加できますので、そのとき改めてタイトルを 追加したいと思います。 #逆にページIDは変更不可です。 そこで、今後、新規でページを作成する際はアルファベットの名前を つけるようにしてくださると助かります。 名前空間の問題があるのでプレフィクスがあると良いです。 チュートリアルなら例えばtut_とか。 すでにあるページは今後移行していく必要がありますが、 現状のHikiではページの削除ができなかったりしますので おいおいやっていくこととしましょう。 ただ、この機能自体は従来のままでも問題ない(%がつくだけ)なので 英語サイトおよび、ModuleNamesは従来通り残すつもりです。 #移行もそれほど急がなくても大丈夫です。 ちなみに、Hikiは次のバージョンがリリースされた時点で切り替える つもりです。まだしばらくは今のままだと思います。 なんかとりとめのない文章となってしまいましたがなんか眠いので もう寝ます(^^;)。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |
From: Tadashi S. <sh...@ma...> - 2003-07-05 04:19:41
|
どうも、斎藤です。 ----- Original Message ----- From: "Masao Mutoh" <mu...@hi...> Sent: Saturday, July 05, 2003 4:31 AM Subject: Re: [ruby-gnome2-devel-ja] redo bug in Simple Text Editor > さっそくWebsiteの方を反映させていただきました。 どうもありがとうございます。 > でも、実は、シグナル周りって実際体感できるんですよね。 > > 以下のようなサンプルを使ってみて、しばらくして気になるシグナルを > 適宜指定するようにすることが多いですね。 > > 案外、ソース見るより早いですし確実ですよ;)。 おお。これは分かりやすくていいですね。 確かに「体感」できてます。とても参考になりました。 それと、本家リファレンスのシグナルの記述部分しか見ずに > 説明はさっぱりありません。 とか書いてしまったのですが、メソッドの方にはきちんと説明 がありましたね。訂正します。 どうもありがとうございました。 ちょっとずつがんばっていきます。 --- 斎藤ただし |
From: Masao M. <mu...@hi...> - 2003-07-04 19:31:15
|
むとうです。 On Sat, 5 Jul 2003 02:54:27 +0900 "Tadashi Saito" <sh...@ma...> wrote: > Ruby/GTK2を勉強中の、斎藤と申します。 > すごい些細なものなんで迷ったのですが、一応報告させて下さい。 > > サンプルのSimple Text Editorで、redoがおかしい感じがします。 > 入力→undo→入力→redoで、最初の入力が出てきてしまいます。 > > redoは「undoのundo」なので、 > 「ユーザからの文字入力があった」=「直前の動作がundoでない」 > 時点で、redoできなくなるべきではないでしょうか。 ありがとうございます。 些細だなんてとんでもないです。助かりました。 さっそくWebsiteの方を反映させていただきました。 > ところで上と直接の関係はないのですが、むとうさんや他の方々は > どのようにGTK2を勉強されているのでしょうか。 > たとえば、自分はGtkTextBufferの"begin-user-action"シグナルの意味を > 知るためにリファレンスをのぞいてみましたが、説明はさっぱりありません。 > やっぱりソースが一番、ということでしょうか。 種明かしをしますと、Undo/Redoの部分はgeditのコードを参考にしました。 #の割には今回のようなバグがあったりするのがイケテナイのですが(^^;)。 参考にできそうなものがない場合はGTK+自体のコードを読むこともあります。 でも、実は、シグナル周りって実際体感できるんですよね。 以下のようなサンプルを使ってみて、しばらくして気になるシグナルを 適宜指定するようにすることが多いですね。 案外、ソース見るより早いですし確実ですよ;)。 ----- require 'gtk2' Gtk.init tv = Gtk::TextView.new Gtk::TextBuffer.signals(false).each do |v| p v tv.buffer.signal_connect(v) do p "#{v} is occured." end end Gtk::Window.new.set_default_size(100, 100).add(tv).show_all Gtk.main ---- 蛇足ですが、GObject#signalsの仕様はinstance_methodsなんかに 合わせて変更する予定です。 なので、ここでは明示的にinherited_too = falseを指定してます。 trueにすると親クラスをたどっていきます。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |
From: Tadashi S. <sh...@ma...> - 2003-07-04 17:54:27
|
Ruby/GTK2を勉強中の、斎藤と申します。 すごい些細なものなんで迷ったのですが、一応報告させて下さい。 サンプルのSimple Text Editorで、redoがおかしい感じがします。 入力→undo→入力→redoで、最初の入力が出てきてしまいます。 redoは「undoのundo」なので、 「ユーザからの文字入力があった」=「直前の動作がundoでない」 時点で、redoできなくなるべきではないでしょうか。 geditもそうなっているようです。 --- simple-editor.rb.orig 2003-07-05 02:36:37.000000000 +0900 +++ simple-editor.rb 2003-07-05 01:12:14.000000000 +0900 @@ -46,7 +46,10 @@ @buffer = @textview.buffer @buffer.signal_connect("insert_text") do |w, iter, text, length| - @undopool << ["insert_text", iter.offset, iter.offset + text.scan(/./).size, text] if @user_action + if @user_action + @undopool << ["insert_text", iter.offset, iter.offset + text.scan(/./).size, text] + @redopool.clear + end end @buffer.signal_connect("delete_range") do |w, start_iter, end_iter| text = @buffer.get_text(start_iter, end_iter) # 今日散歩している時にたまたま、一般的なundo/redoのアルゴリズムを # 考えていたので気になってしまいました。その後実際にむとうさんの # コードを拝見して、やっぱりそうすればいいのか、と納得しました ;) ところで上と直接の関係はないのですが、むとうさんや他の方々は どのようにGTK2を勉強されているのでしょうか。 たとえば、自分はGtkTextBufferの"begin-user-action"シグナルの意味を 知るためにリファレンスをのぞいてみましたが、説明はさっぱりありません。 やっぱりソースが一番、ということでしょうか。 --- 斎藤ただし |
From: Masao M. <mu...@hi...> - 2003-07-03 16:52:12
|
むとうです。 SF.netのCVSが復旧したみたいです。 まだ、つながりが悪くて、何度かconnection refusedくらいましたが、 辛抱強く繰り返したらつながりました。 お試しを。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2003-06-26 15:48:30
|
むとうです。 glib/src/rbgutil.hに G_BLOCK_PROCを用意しました。 これは、rb_f_lambdaと、1.8系で導入された rb_block_procに対応するものです。 各コードは、rb_f_lambda, rb_block_procを直接 使うのではなく、こちらを使うようにしてください。 --- すでにCVS上のruby-gnome2配下のライブラリには適用済みです。 1.8系で出ている以下のWarningが出なくなります。 warning: rb_f_lambda() is deprecated; use rb_block_proc() instead にしても、anonymousの方はもう10日も更新が止まってますね。 どうしたんだろう。 -- .:% Masao Mutoh<mu...@hi...> |
From: Junichiro K. <ki...@ki...> - 2003-06-24 16:35:38
|
きたです. >たぶん、この書き方をしてしまうと、きたさんのGtk::Window::TOPLEVEL >と同様に、初級者の人は、普通のコードを書くときも何も考えずに >Thread.start{ Gtk.main }を書いてしまう気がしてちょっと恐いです。 > >そこで、事前にThreadを使う理由と、特別なやり方だということの >説明文を追加してはいかがでしょうか。 なるほど.それもそうですね. 実は他にもチュートリアルを読むための前提について書いておきたいことが,2, 3あるので,「このチュートリアルを読むにあたって」みたいなページを起こそ うと思います. # というか TOPLEVEL の修正もはよやらねば. >あと、話は変わりますが、モジュール関数は::ではなく.を使いませんか。 >上記例でもThread.startは.だけど、Gtk::mainは::とちとアンバランスです。 >Hiki/RD+的には、モジュール関数はGtk.init, Gtk.main, 定数はGtk::HOGEと書くと >勝手にリンクをはってくれるということもあり、その書き方で統一 >した方が良いような気がします。 > >実は、一応、こちらにルールが書いてあったりします。 >http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?%CB%DC%A5%B5%A5%A4%A5%C8%A4%CE%BD%F1%A4%AD%CA%FD#ModuleNames これも了解です. 以前ルールは読んだんですが,すっかり頭から抜け落ちてました. |
From: Masao M. <mu...@hi...> - 2003-06-24 16:17:25
|
きたさん むとうです。 チュートリアル:ラベル編を見てて気づいたのですが、 irb(main):006:0> Thread.start {Gtk::main} => #<Thread:0xa2938c0 run> ってところでThread使ってますよね。 irbを使って、引き続き、それ以降の説明もしているので、通常irbを 使っている人は、順を追って理解できるので、なるほどー と正直感心しました。 が、しかし。 たぶん、この書き方をしてしまうと、きたさんのGtk::Window::TOPLEVEL と同様に、初級者の人は、普通のコードを書くときも何も考えずに Thread.start{ Gtk.main }を書いてしまう気がしてちょっと恐いです。 そこで、事前にThreadを使う理由と、特別なやり方だということの 説明文を追加してはいかがでしょうか。 あと、話は変わりますが、モジュール関数は::ではなく.を使いませんか。 上記例でもThread.startは.だけど、Gtk::mainは::とちとアンバランスです。 Hiki/RD+的には、モジュール関数はGtk.init, Gtk.main, 定数はGtk::HOGEと書くと 勝手にリンクをはってくれるということもあり、その書き方で統一 した方が良いような気がします。 実は、一応、こちらにルールが書いてあったりします。 http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?%CB%DC%A5%B5%A5%A4%A5%C8%A4%CE%BD%F1%A4%AD%CA%FD#ModuleNames それでは。 -- .:% Masao Mutoh<mu...@hi...> |