トップ «前の日記(2001-08-11) 最新 次の日記(2001-08-13)» 月表示 編集

日々の流転


2001-08-12 [長年日記]

λ. 朝方の生活に戻したと思ったら、眠れなくて、寝たのが朝の9時ごろ。で、起きたのが夜の7時。だめだこりゃ。明日こそは早起きして「猿の惑星」見るぞ。

λ. NArrayの次元順序

現在のFORTRANスタイルだと、例えばGimpで扱っているようなメモリ形式の画像データで、RGBを次元として扱う場合に、こんな風に書くことになるのか。…微妙。

Tags: ruby
  img = NArray.byte(bpp, width, height)
  img[0, x, y] # R
  img[1, x, y] # G
  img[2, x, y] # B

λ. Gimp-Ruby

libgimpってまずいことがあると内部で勝手にgimp_quit()内でexit(0)しちゃうからRuby側でどう対処すべきか悩んでた。結局、PLUG_IN_INFO.quit_procが、gimp_close時に呼ばれるので、そこでruby_finalizeする事にした。したがって、Gimp::mainは帰って来なくしちゃった。えへっ。なんか不味いような気もするが、exit!の例もあるからまあいっか。というわけで今後は終了処理にはensureぢゃなくてat_exitを使ってくれたまえ。

Tags: gimp ruby

λ. とか思って安心してたらSegmentation Faultだ。なんじゃこりゃ? gimphelpuiが内部で持ってるtooltipsウィジェットがどっかで既に破壊されてるのか? しかし、一体どこで?

Gtk-WARNING **: invalid cast from `(unknown)' to `GtkObject'
/usr/lib/gimp/1.2/plug-ins/sphere.rb:101:in `main': file gtkobject.c: line 236 (gtk_object_destroy): assertion `GTK_IS_OBJECT (object)' failed. (Gtk::Error)
        from /usr/lib/gimp/1.2/plug-ins/sphere.rb:101
ruby: fatal error: セグメンテーション違反です
ruby (pid:1284): [E]xit, [H]alt, show [S]tack trace or [P]roceed: S
#0  0x402c5d8c in g_on_error_stack_trace () from /usr/lib/libglib-1.2.so.0
#1  0x402c596f in g_on_error_query () from /usr/lib/libglib-1.2.so.0
#2  0x402a1a69 in gimp_plugin_sigfatal_handler ()
#3  <signal handler called>
#4  0x40790888 in gimp_help_free () from /usr/lib/libgimpui-1.2.so.0
#5  0x4076a172 in _done ()
#6  0x4004c3a8 in rb_protect () at eval.c:88
#7  0x40056a66 in rb_exec_end_proc () at eval.c:88
#8  0x400443f9 in ruby_finalize () at eval.c:88
#9  0x40044503 in ruby_stop () at eval.c:88
#10 0x40044663 in ruby_run () at eval.c:88
#11 0x080486c2 in main () at eval.c:88
#12 0x4014f1be in __libc_start_main (main=0x8048694 <main>, argc=7,