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: Masao M. <mu...@hi...> - 2005-09-11 17:45:13
|
むとうです。 On Mon, 12 Sep 2005 00:23:48 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@co...> > "[ruby-gnome2-devel-ja] Re: [ruby-gnome2-devel-ja] rcairoをRuby-GNOME2に含めたいと打診してもよいでしょうか?" on Sun, 11 Sep 2005 10:39:45 +0900 (JST), > Kouhei Sutou <ko...@co...> wrote: > > > > 打診してみるのは良いですね。ぜひお願いします。 > > > > > > ただし、彼らが彼らの配布物の一部としてrcairoを続けたいと思って > > > いるのならその方が良いと思いますので、その辺のニュアンスを残し > > > つつ、打診して頂ければと思います。 > > > > 了解しました. > > 打診してみますね. > > してみました. ありがとうございます。 > その結果,((たぶん)やんわり)断られました. > http://lists.freedesktop.org/archives/cairo/2005-September/005293.html > > 理由は,rcairoはGTKだけにとどまらない,ということのようです. なるほど。 > だた,Ruby/GTK+で使いやすいようにするというのは,前向きに検 > 討してくれるということなので,rcairoの方にいろいろパッチを送 > ることにします. そうですね。ぜひぜひ。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |
須藤です. In <200...@co...> "[ruby-gnome2-devel-ja] Re: [ruby-gnome2-devel-ja] rcairoをRuby-GNOME2に含めたいと打診してもよいでしょうか?" on Sun, 11 Sep 2005 10:39:45 +0900 (JST), Kouhei Sutou <ko...@co...> wrote: > > 打診してみるのは良いですね。ぜひお願いします。 > > > > ただし、彼らが彼らの配布物の一部としてrcairoを続けたいと思って > > いるのならその方が良いと思いますので、その辺のニュアンスを残し > > つつ、打診して頂ければと思います。 > > 了解しました. > 打診してみますね. してみました. その結果,((たぶん)やんわり)断られました. http://lists.freedesktop.org/archives/cairo/2005-September/005293.html 理由は,rcairoはGTKだけにとどまらない,ということのようです. だた,Ruby/GTK+で使いやすいようにするというのは,前向きに検 討してくれるということなので,rcairoの方にいろいろパッチを送 ることにします. |
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] rcairoをRuby-GNOME2に含めたいと打診してもよいでしょうか?" on Sun, 11 Sep 2005 10:18:41 +0900, Masao Mutoh <mu...@hi...> wrote: > > ということで,Ruby-GNOME2にcairoバインディングが含まれていた > > 方がよい気がするのですが,どうでしょうか? > > 確かに便利なんですが....。CairoってGTK+用でしたっけ? > KDEなんかでも使うんじゃ...。 私はCairoはLibartと同じような存在だと考えています. ざくっと検索してみた感じだとKDEはLibart, AGG2, Cairoのどれで も使えるみたいです. LibartもRuby-GNOME2に含まれているのでCairoもいいんじゃないか と思ったわけです. > > コードなどは(私にとって)ちょっと気持ち悪いのですが,私が世 > > 話役になるのでrcairoをRuby-GNOME2でやりませんか?と打診して > > みてもよいでしょうか? > > 打診してみるのは良いですね。ぜひお願いします。 > > ただし、彼らが彼らの配布物の一部としてrcairoを続けたいと思って > いるのならその方が良いと思いますので、その辺のニュアンスを残し > つつ、打診して頂ければと思います。 了解しました. 打診してみますね. > それから、rcairoが外部にあるのとRuby-GNOME2にあるのとでの > 大きな違いは、Ruby-GNOME2のAPIのルールが適用されるかどうか > というところがあると思います。 > 場合によっては、マージする際にAPI変更が発生するかと思います。 > #この辺は非情に(後方互換性を無視してでも)やりたいと思います。 > #でないと今後メンテしてくのがつらくなるので。 > > > # rcairoのライセンスはRubyのそれと同じです. > > Ruby-GNOME2はLGPLなので、LGPLにして良いかの確認もお願いしますね。 こちらも了解しました. |
From: Masao M. <mu...@hi...> - 2005-09-11 01:27:36
|
むとうです。 On Sat, 10 Sep 2005 21:12:15 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@co...> > "[ruby-gnome2-devel-ja] Gdk::GC#copy doesn't work" on Tue, 06 Sep 2005 21:54:11 +0900 (JST), > Kouhei Sutou <ko...@co...> wrote: > > > Gdk::GC#copyが動きません. > > 今のままだとcopyが動かないので, > > > 引数としてコピー先のGdk::GC(かGdk::GCを作るための > > Gdk::Drawable)を受け取るようにしてはどうでしょうか? > > としてしまってもよいですか? > # やっぱり,コピー先のGdk::GCを作るためにGdk::Drawableは渡さ > # なければいけない気がする... もうちょっとだけ待ってください。 今夜少しだけ考えてみてダメそうなら(ダメな確率は高いですが(^^;)) 再度、お願いします。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2005-09-11 01:18:50
|
むとうです。 On Sat, 10 Sep 2005 21:59:14 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > GDK 2.8からcairoがサポートされていますが,その際にcairo_t * > とRubyのオブジェクトを変換する必要があります.また,GDKの方 > 針として,cairoを使ったレンダリングはcairoのAPIを使う,とい > うことのようです. > > ということで,Ruby-GNOME2にcairoバインディングが含まれていた > 方がよい気がするのですが,どうでしょうか? 確かに便利なんですが....。CairoってGTK+用でしたっけ? KDEなんかでも使うんじゃ...。 だとしたら、Cairo側の人たちはそれがRuby-GNOME2にマージされるのは 抵抗あるんじゃないかなぁ。 gtkcairoだけ、なら良いと思うのですが...。 > cairoのバインディングはcairo本家のCVSリポジトリに入っていて > rcairoという名前になっています. > http://www.cairographics.org/rcairo > > コードなどは(私にとって)ちょっと気持ち悪いのですが,私が世 > 話役になるのでrcairoをRuby-GNOME2でやりませんか?と打診して > みてもよいでしょうか? 打診してみるのは良いですね。ぜひお願いします。 ただし、彼らが彼らの配布物の一部としてrcairoを続けたいと思って いるのならその方が良いと思いますので、その辺のニュアンスを残し つつ、打診して頂ければと思います。 #たとえば、Ruby/GtkGLExtはOpenGLのrboglを使っていますが、 #Ruby-GNOME2には含まれてません...。ってrboglもマージしちゃえ #という気もしないでもないですが(苦笑)。 それから、rcairoが外部にあるのとRuby-GNOME2にあるのとでの 大きな違いは、Ruby-GNOME2のAPIのルールが適用されるかどうか というところがあると思います。 場合によっては、マージする際にAPI変更が発生するかと思います。 #この辺は非情に(後方互換性を無視してでも)やりたいと思います。 #でないと今後メンテしてくのがつらくなるので。 > # rcairoのライセンスはRubyのそれと同じです. Ruby-GNOME2はLGPLなので、LGPLにして良いかの確認もお願いしますね。 -- .:% Masao Mutoh<mu...@hi...> |
From: Kouhei S. <ko...@co...> - 2005-09-10 12:59:23
|
須藤です. GDK 2.8からcairoがサポートされていますが,その際にcairo_t * とRubyのオブジェクトを変換する必要があります.また,GDKの方 針として,cairoを使ったレンダリングはcairoのAPIを使う,とい うことのようです. ということで,Ruby-GNOME2にcairoバインディングが含まれていた 方がよい気がするのですが,どうでしょうか? cairoのバインディングはcairo本家のCVSリポジトリに入っていて rcairoという名前になっています. http://www.cairographics.org/rcairo コードなどは(私にとって)ちょっと気持ち悪いのですが,私が世 話役になるのでrcairoをRuby-GNOME2でやりませんか?と打診して みてもよいでしょうか? # rcairoのライセンスはRubyのそれと同じです. |
From: Kouhei S. <ko...@co...> - 2005-09-10 12:12:21
|
須藤です. In <200...@co...> "[ruby-gnome2-devel-ja] Gdk::GC#copy doesn't work" on Tue, 06 Sep 2005 21:54:11 +0900 (JST), Kouhei Sutou <ko...@co...> wrote: > Gdk::GC#copyが動きません. 今のままだとcopyが動かないので, > 引数としてコピー先のGdk::GC(かGdk::GCを作るための > Gdk::Drawable)を受け取るようにしてはどうでしょうか? としてしまってもよいですか? # やっぱり,コピー先のGdk::GCを作るためにGdk::Drawableは渡さ # なければいけない気がする... |
From: Masao M. <mu...@hi...> - 2005-09-08 17:47:14
|
むとうです。 On Thu, 08 Sep 2005 11:36:43 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Re: [ruby-gnome2-devel-ja] Ruby/Pangoのメモリ管理" on Thu, 8 Sep 2005 01:32:03 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > rbpangolayoutline.cのlayout_line_copy()でg_new()しちゃってい > > > るのがまずいです. > > > > > > Pango 1.10ではpango_layout_line_get_type()が提供されるみたい > > > なので,1.10になったら自前で作っているlayout_line_get_type() > > > からpango_layout_line_get_type()に移行するのを忘れないように > > > しないといけないですね. > > > > 1.10からってことがわかってるなら > > #if PANGO_CHECK_VERSION()で囲めますね。 > > ついでにお願いしちゃってよろしいですか? > > はい,やりました. ありがとうございます。 > # PANGO_CHECK_VERSION()ってRuby/Pangoで提供していたんですね. あ、そうです。説明不足ですみませんです。 ruby extconf.rbしないと最新にならないので注意が必要です。 > > #あ、いや、あまりお任せすぎなのもアレなので私がやっても > > #良いのですけど...。 > > # 忙しい時はお互い様ということで. :) たすかりますm(__)m。 > > ちなみに、これって、結局、この両方の修正を加えたら問題はなおったの > > でしょうか? > > layout_line_copy()の修正だけでOKでした. > Pango::RectangleはRVAL2BOXEDされるときに(やっぱりRuby/Pango > で提供している)pango_rectangle_copy()の中でg_new()されてい > たので今のままで大丈夫でした.お騒がせしました. 了解です。ありがとうございました。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2005-09-08 17:46:12
|
むとうです。 On Thu, 08 Sep 2005 14:25:41 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Pagno::Layout#get_line may return nil" on Thu, 8 Sep 2005 01:25:39 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > > ちなみに、例の定数値の件もお願いできませんか? > > > > > > はい,では,時間を見付けてちょこちょこやっておきますね. > > > これってRubyレベル(src/lib/pango.rb)でやっちゃってもよいで > > > すよね? > > > > はい。よろしくお願いします。助かりますm(__)m > > 以下のようにしましたがよろしいですか? > > Pango::Attribute::* -> Pango::ATTRIBUTE_* > Pango::Coverage::* -> Pango::COVERAGE_* > Pango::AttrXXX::TYPE_* -> Pango::XXX_* > Pango::AttrXXX::* -> Pango::XXX_* > Pango::XXX::* -> Pango::* irbで確認したところ、OKの模様です。ただ、ちょっと見切れてません。 あとで見ますね。 #ちと、rbbrで確認しようと思った(簡単なので)んですが、 #上記が出てこないんですよね。なんでだろう。 > Pango::Renderer::*をPango::RENDERER_*にしようかとも思いまし > たがやめておきました. こちらは了解です。 -- .:% Masao Mutoh<mu...@hi...> |
From: Kouhei S. <ko...@co...> - 2005-09-08 05:25:50
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Pagno::Layout#get_line may return nil" on Thu, 8 Sep 2005 01:25:39 +0900, Masao Mutoh <mu...@hi...> wrote: > > > ちなみに、例の定数値の件もお願いできませんか? > > > > はい,では,時間を見付けてちょこちょこやっておきますね. > > これってRubyレベル(src/lib/pango.rb)でやっちゃってもよいで > > すよね? > > はい。よろしくお願いします。助かりますm(__)m 以下のようにしましたがよろしいですか? Pango::Attribute::* -> Pango::ATTRIBUTE_* Pango::Coverage::* -> Pango::COVERAGE_* Pango::AttrXXX::TYPE_* -> Pango::XXX_* Pango::AttrXXX::* -> Pango::XXX_* Pango::XXX::* -> Pango::* Pango::Renderer::*をPango::RENDERER_*にしようかとも思いまし たがやめておきました. |
From: Kouhei S. <ko...@co...> - 2005-09-08 02:36:51
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Re: [ruby-gnome2-devel-ja] Ruby/Pangoのメモリ管理" on Thu, 8 Sep 2005 01:32:03 +0900, Masao Mutoh <mu...@hi...> wrote: > > rbpangolayoutline.cのlayout_line_copy()でg_new()しちゃってい > > るのがまずいです. > > > > Pango 1.10ではpango_layout_line_get_type()が提供されるみたい > > なので,1.10になったら自前で作っているlayout_line_get_type() > > からpango_layout_line_get_type()に移行するのを忘れないように > > しないといけないですね. > > 1.10からってことがわかってるなら > #if PANGO_CHECK_VERSION()で囲めますね。 > ついでにお願いしちゃってよろしいですか? はい,やりました. # PANGO_CHECK_VERSION()ってRuby/Pangoで提供していたんですね. > #あ、いや、あまりお任せすぎなのもアレなので私がやっても > #良いのですけど...。 # 忙しい時はお互い様ということで. :) > ちなみに、これって、結局、この両方の修正を加えたら問題はなおったの > でしょうか? layout_line_copy()の修正だけでOKでした. Pango::RectangleはRVAL2BOXEDされるときに(やっぱりRuby/Pango で提供している)pango_rectangle_copy()の中でg_new()されてい たので今のままで大丈夫でした.お騒がせしました. |
From: Masao M. <mu...@hi...> - 2005-09-07 16:32:13
|
むとうです。 On Wed, 07 Sep 2005 13:52:38 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Ruby/Pangoのメモリ管理" on Wed, 7 Sep 2005 02:18:01 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > Ruby/Pangoのメモリの割り当て方がおかしい気がします.たとえば, > > > layout_line_get_extents()はこんな風になっていますが, > > > > > > static VALUE > > > layout_line_get_extents(self) > > > VALUE self; > > > { > > > PangoRectangle ink_rect, logical_rect; > > > > > > pango_layout_line_get_extents(_SELF(self), &ink_rect, &logical_rect); > > > > > > return rb_assoc_new(BOXED2RVAL(&ink_rect, PANGO_TYPE_RECTANGLE), > > > BOXED2RVAL(&logical_rect, PANGO_TYPE_RECTANGLE)); > > > } > > > > > > こんな風にしなければいけないのでしょうか? > > > > > > static VALUE > > > layout_line_get_extents(self) > > > VALUE self; > > > { > > > PangoRectangle *ink_rect, *logical_rect; > > > ink_rect = g_new(PangoRectangle, 1); > > > logical_rect = g_new(PangoRectangle, 1); > > > > > > pango_layout_line_get_extents(_SELF(self), ink_rect, logical_rect); > > > > > > return rb_assoc_new(BOXED2RVAL(ink_rect, PANGO_TYPE_RECTANGLE), > > > BOXED2RVAL(logical_rect, PANGO_TYPE_RECTANGLE)); > > > } > > > > > > うーん。例えば、pango-1.8.1のpango-layout.cのpango_layout_line_get_x_ranges() > > の実装を見てみると、オリジナルの方と同じやり方してるんですよね...。 > > pango_layout_line_get_x_ranges()はPangoRectangleを関数内でし > か使わないのでオリジナルの方でよくて, > layout_line_get_extents()はPangoRectangleを返すので,動的に > メモリを割り当てないといけないのではないかと言いたかったんで > す. > 言葉足らずですいません... あぁ、そういうことでしたか。 > > > 手元では以下のスクリプトを実行したら結果に差が出ました. > > > > > > require 'gtk2' > > > > > > Gtk.init > > > layout = Gtk::Invisible.new.create_pango_layout > > > layout.set_text("a") > > > 10000.times do > > > layout.get_line(0).extents > > > end > > > > > > オリジナルでは, > > > > > > pango-segv.rb:7: [BUG] Segmentation fault > > > > > > になり,修正後では > > > > > > *** glibc detected *** corrupted double-linked list: 0x08346070 *** > > > > > > となりました.むぅ. > > > > ってか、layout.get_line(0)で落ちてません? > > > > require 'gtk2' > > > > Gtk.init > > win = Gtk::Window.new > > win.realize > > layout = win.create_pango_layout > > layout.set_text("a") > > 10000.times do > > layout.get_line(0) > > end > > あ,落ちました. > > rbpangolayoutline.cのlayout_line_copy()でg_new()しちゃってい > るのがまずいです. > > Pango 1.10ではpango_layout_line_get_type()が提供されるみたい > なので,1.10になったら自前で作っているlayout_line_get_type() > からpango_layout_line_get_type()に移行するのを忘れないように > しないといけないですね. 1.10からってことがわかってるなら #if PANGO_CHECK_VERSION()で囲めますね。 ついでにお願いしちゃってよろしいですか? #あ、いや、あまりお任せすぎなのもアレなので私がやっても #良いのですけど...。 ちなみに、これって、結局、この両方の修正を加えたら問題はなおったの でしょうか? #自分で確認もせずにすみませんです....。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2005-09-07 16:25:49
|
むとうです。 On Wed, 07 Sep 2005 13:56:39 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Pagno::Layout#get_line may return nil" on Wed, 7 Sep 2005 02:07:47 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > Pagno::Layout#get_lineにLayoutが持っている行数以上の行番号を > > > 指定されたらnilを返してくれると嬉しいです. > > > > > > ptrがNULLのPango::LayoutLineを返されても,メソッドを呼び出す > > > とエラーになるのであまり使い勝手がよくないような気がします. > > > > そうですね。お願いします。 > > コミットしました. > > > ちなみに、例の定数値の件もお願いできませんか? > > はい,では,時間を見付けてちょこちょこやっておきますね. > これってRubyレベル(src/lib/pango.rb)でやっちゃってもよいで > すよね? はい。よろしくお願いします。助かりますm(__)m -- .:% Masao Mutoh<mu...@hi...> |
From: Kouhei S. <ko...@co...> - 2005-09-07 04:56:43
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Pagno::Layout#get_line may return nil" on Wed, 7 Sep 2005 02:07:47 +0900, Masao Mutoh <mu...@hi...> wrote: > > Pagno::Layout#get_lineにLayoutが持っている行数以上の行番号を > > 指定されたらnilを返してくれると嬉しいです. > > > > ptrがNULLのPango::LayoutLineを返されても,メソッドを呼び出す > > とエラーになるのであまり使い勝手がよくないような気がします. > > そうですね。お願いします。 コミットしました. > ちなみに、例の定数値の件もお願いできませんか? はい,では,時間を見付けてちょこちょこやっておきますね. これってRubyレベル(src/lib/pango.rb)でやっちゃってもよいで すよね? |
From: Kouhei S. <ko...@co...> - 2005-09-07 04:52:44
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Ruby/Pangoのメモリ管理" on Wed, 7 Sep 2005 02:18:01 +0900, Masao Mutoh <mu...@hi...> wrote: > > Ruby/Pangoのメモリの割り当て方がおかしい気がします.たとえば, > > layout_line_get_extents()はこんな風になっていますが, > > > > static VALUE > > layout_line_get_extents(self) > > VALUE self; > > { > > PangoRectangle ink_rect, logical_rect; > > > > pango_layout_line_get_extents(_SELF(self), &ink_rect, &logical_rect); > > > > return rb_assoc_new(BOXED2RVAL(&ink_rect, PANGO_TYPE_RECTANGLE), > > BOXED2RVAL(&logical_rect, PANGO_TYPE_RECTANGLE)); > > } > > > > こんな風にしなければいけないのでしょうか? > > > > static VALUE > > layout_line_get_extents(self) > > VALUE self; > > { > > PangoRectangle *ink_rect, *logical_rect; > > ink_rect = g_new(PangoRectangle, 1); > > logical_rect = g_new(PangoRectangle, 1); > > > > pango_layout_line_get_extents(_SELF(self), ink_rect, logical_rect); > > > > return rb_assoc_new(BOXED2RVAL(ink_rect, PANGO_TYPE_RECTANGLE), > > BOXED2RVAL(logical_rect, PANGO_TYPE_RECTANGLE)); > > } > > > うーん。例えば、pango-1.8.1のpango-layout.cのpango_layout_line_get_x_ranges() > の実装を見てみると、オリジナルの方と同じやり方してるんですよね...。 pango_layout_line_get_x_ranges()はPangoRectangleを関数内でし か使わないのでオリジナルの方でよくて, layout_line_get_extents()はPangoRectangleを返すので,動的に メモリを割り当てないといけないのではないかと言いたかったんで す. 言葉足らずですいません... > > 手元では以下のスクリプトを実行したら結果に差が出ました. > > > > require 'gtk2' > > > > Gtk.init > > layout = Gtk::Invisible.new.create_pango_layout > > layout.set_text("a") > > 10000.times do > > layout.get_line(0).extents > > end > > > > オリジナルでは, > > > > pango-segv.rb:7: [BUG] Segmentation fault > > > > になり,修正後では > > > > *** glibc detected *** corrupted double-linked list: 0x08346070 *** > > > > となりました.むぅ. > > ってか、layout.get_line(0)で落ちてません? > > require 'gtk2' > > Gtk.init > win = Gtk::Window.new > win.realize > layout = win.create_pango_layout > layout.set_text("a") > 10000.times do > layout.get_line(0) > end あ,落ちました. rbpangolayoutline.cのlayout_line_copy()でg_new()しちゃってい るのがまずいです. Pango 1.10ではpango_layout_line_get_type()が提供されるみたい なので,1.10になったら自前で作っているlayout_line_get_type() からpango_layout_line_get_type()に移行するのを忘れないように しないといけないですね. |
From: Kouhei S. <ko...@co...> - 2005-09-07 03:52:14
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Gdk::GC#copy doesn't work" on Wed, 7 Sep 2005 02:05:37 +0900, Masao Mutoh <mu...@hi...> wrote: > > Gdk::GC#copyが動きません. > > 引数としてコピー先のGdk::GC(かGdk::GCを作るための > > Gdk::Drawable)を受け取るようにしてはどうでしょうか? > > うむむ。それってコピーになるのかなぁ(^^;)。 うっ... ま,たしかにそうなんですけども... > GdkGC copy; > じゃなくて、g_new使ってもダメですかね? GdkGC自体が環境(X11とか)依存らしく単純にGdkGC分のメモリを 割り当ててもSEGVしてしまいました. gdkpango.c内とかでのgdk_gc_copy()の使いかたを見ると,コピー 先のGdkGCをgdk_gc_new()で作って,それをgdk_gc_copy()渡してい るので,やはり,コピー先のGdk::GC(かそれを作るための Gdk::Drawable)を渡さないとうまくない気がします. |
From: Masao M. <mu...@hi...> - 2005-09-06 17:18:14
|
むとうです。 On Tue, 06 Sep 2005 23:03:53 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > Ruby/Pangoのメモリの割り当て方がおかしい気がします.たとえば, > layout_line_get_extents()はこんな風になっていますが, > > static VALUE > layout_line_get_extents(self) > VALUE self; > { > PangoRectangle ink_rect, logical_rect; > > pango_layout_line_get_extents(_SELF(self), &ink_rect, &logical_rect); > > return rb_assoc_new(BOXED2RVAL(&ink_rect, PANGO_TYPE_RECTANGLE), > BOXED2RVAL(&logical_rect, PANGO_TYPE_RECTANGLE)); > } > > こんな風にしなければいけないのでしょうか? > > static VALUE > layout_line_get_extents(self) > VALUE self; > { > PangoRectangle *ink_rect, *logical_rect; > ink_rect = g_new(PangoRectangle, 1); > logical_rect = g_new(PangoRectangle, 1); > > pango_layout_line_get_extents(_SELF(self), ink_rect, logical_rect); > > return rb_assoc_new(BOXED2RVAL(ink_rect, PANGO_TYPE_RECTANGLE), > BOXED2RVAL(logical_rect, PANGO_TYPE_RECTANGLE)); > } うーん。例えば、pango-1.8.1のpango-layout.cのpango_layout_line_get_x_ranges() の実装を見てみると、オリジナルの方と同じやり方してるんですよね...。 > 手元では以下のスクリプトを実行したら結果に差が出ました. > > require 'gtk2' > > Gtk.init > layout = Gtk::Invisible.new.create_pango_layout > layout.set_text("a") > 10000.times do > layout.get_line(0).extents > end > > オリジナルでは, > > pango-segv.rb:7: [BUG] Segmentation fault > > になり,修正後では > > *** glibc detected *** corrupted double-linked list: 0x08346070 *** > > となりました.むぅ. ってか、layout.get_line(0)で落ちてません? require 'gtk2' Gtk.init win = Gtk::Window.new win.realize layout = win.create_pango_layout layout.set_text("a") 10000.times do layout.get_line(0) end -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2005-09-06 17:07:55
|
むとうです。 On Tue, 06 Sep 2005 22:03:57 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > Pagno::Layout#get_lineにLayoutが持っている行数以上の行番号を > 指定されたらnilを返してくれると嬉しいです. > > ptrがNULLのPango::LayoutLineを返されても,メソッドを呼び出す > とエラーになるのであまり使い勝手がよくないような気がします. そうですね。お願いします。 ちなみに、例の定数値の件もお願いできませんか? #ちと、今、いろいろ忙しくてRuby-GNOME2周り何もできてないんです....。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2005-09-06 17:05:52
|
むとうです。 On Tue, 06 Sep 2005 21:54:11 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > Gdk::GC#copyが動きません. > 引数としてコピー先のGdk::GC(かGdk::GCを作るための > Gdk::Drawable)を受け取るようにしてはどうでしょうか? うむむ。それってコピーになるのかなぁ(^^;)。 GdkGC copy; じゃなくて、g_new使ってもダメですかね? #すみません、試せてないですm(__)m。 -- .:% Masao Mutoh<mu...@hi...> |
From: Kouhei S. <ko...@co...> - 2005-09-06 14:42:01
|
須藤です. In <200...@co...> "[ruby-gnome2-devel-ja] Ruby/Pangoのメモリ管理" on Tue, 06 Sep 2005 23:03:53 +0900 (JST), Kouhei Sutou <ko...@co...> wrote: > 手元では以下のスクリプトを実行したら結果に差が出ました. > > require 'gtk2' > > Gtk.init > layout = Gtk::Invisible.new.create_pango_layout > layout.set_text("a") > 10000.times do > layout.get_line(0).extents > end スクリプトをこうすると require 'gtk2' Gtk.init 10000.times do |i| layout = Gtk::Invisible.new.create_pango_layout layout.set_text("a") layout.get_line(0).extents end > オリジナルでは, このまま↓で > > pango-segv.rb:7: [BUG] Segmentation fault > > になり,修正後では > これ↓が出ずに正常に終了しました. > *** glibc detected *** corrupted double-linked list: 0x08346070 *** > > となりました.むぅ. |
From: Kouhei S. <ko...@co...> - 2005-09-06 14:03:59
|
須藤です. Ruby/Pangoのメモリの割り当て方がおかしい気がします.たとえば, layout_line_get_extents()はこんな風になっていますが, static VALUE layout_line_get_extents(self) VALUE self; { PangoRectangle ink_rect, logical_rect; pango_layout_line_get_extents(_SELF(self), &ink_rect, &logical_rect); return rb_assoc_new(BOXED2RVAL(&ink_rect, PANGO_TYPE_RECTANGLE), BOXED2RVAL(&logical_rect, PANGO_TYPE_RECTANGLE)); } こんな風にしなければいけないのでしょうか? static VALUE layout_line_get_extents(self) VALUE self; { PangoRectangle *ink_rect, *logical_rect; ink_rect = g_new(PangoRectangle, 1); logical_rect = g_new(PangoRectangle, 1); pango_layout_line_get_extents(_SELF(self), ink_rect, logical_rect); return rb_assoc_new(BOXED2RVAL(ink_rect, PANGO_TYPE_RECTANGLE), BOXED2RVAL(logical_rect, PANGO_TYPE_RECTANGLE)); } 手元では以下のスクリプトを実行したら結果に差が出ました. require 'gtk2' Gtk.init layout = Gtk::Invisible.new.create_pango_layout layout.set_text("a") 10000.times do layout.get_line(0).extents end オリジナルでは, pango-segv.rb:7: [BUG] Segmentation fault になり,修正後では *** glibc detected *** corrupted double-linked list: 0x08346070 *** となりました.むぅ. |
From: Kouhei S. <ko...@co...> - 2005-09-06 13:04:04
|
須藤です. Pagno::Layout#get_lineにLayoutが持っている行数以上の行番号を 指定されたらnilを返してくれると嬉しいです. ptrがNULLのPango::LayoutLineを返されても,メソッドを呼び出す とエラーになるのであまり使い勝手がよくないような気がします. |
From: Kouhei S. <ko...@co...> - 2005-09-06 12:54:22
|
須藤です. Gdk::GC#copyが動きません. 引数としてコピー先のGdk::GC(かGdk::GCを作るための Gdk::Drawable)を受け取るようにしてはどうでしょうか? |
From: Kouhei S. <ko...@co...> - 2005-08-24 13:10:38
|
須藤です. In <200...@hi...> "Re: [ruby-gnome2-devel-ja] Gdk::Displayにgetterを追加" on Wed, 24 Aug 2005 21:45:21 +0900, Masao Mutoh <mu...@hi...> wrote: > > Gdk::DisplayにGdkDisplayがダブルクリックやトリプルクリックを > > 検出するのに使っているメンバを取得するgetterを追加してもよい > > ですか? > > はい。お願いします。 コミットしました. |
From: Masao M. <mu...@hi...> - 2005-08-24 12:45:43
|
むとうです。 On Wed, 24 Aug 2005 12:35:51 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > Gdk::DisplayにGdkDisplayがダブルクリックやトリプルクリックを > 検出するのに使っているメンバを取得するgetterを追加してもよい > ですか? はい。お願いします。 -- .:% Masao Mutoh<mu...@hi...> |