[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:7489] emacs-22_0_50-20070108 マージ



>>>>> [meadow-develop : No.7492] にて
>>>>> 北口さんは書きました:
> これ、Meadowでは、

> #define FRAME_MW32_DISPLAY_INFO(f) ((f)->output_data.mw32->display_info)
> #define FRAME_X_DISPLAY_INFO(f) FRAME_MW32_DISPLAY_INFO(f)

> なので、mw32->display_infoを見にいくわけですが、デバッガで
> 見るとmw32はtty_displayの値になっているので、見ている構造体が
> 異なっているようです。

なるほど、terminal frame の場合でしたか。的外れな所を調べてました。

原因は、不正なメモリの参照でした。make_terminal_frame () で作られ
るフレームが output_data として保持する tty_display は `struct
x_output' 型。この型は、 Meadow の場合には、背景色、前景色だけしか
保持しない。それにもかかわらず、set_window_buffer() では
output_data から dpyinfo を取り出して使おうとしていました(不正なメ
モリ参照)。

対策として、terminal frame の場合には、mouse face のクリア処理をス
キップするようにしました。

なお、この問題は、Mingw で Meadow をビルドする際にも生じる可能性が
あります。NTEmacs でも同じかな?

--
三好 雅則 http://miyoshi.meadowy.org/