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

[MD:2980] Meadow 1.99a1 - Access violation.



yasushi> mw32_WndProc():
yasushi>   case WM_MULE_IMM_SET_CONVERSION_WINDOW:
yasushi>     mw32_set_ime_conv_window(hwnd, (int)wParam, (int)lParam);
yasushi>     POST_THREAD_INFORM_MESSAGE(main_thread_id,
yasushi> 			       WM_MULE_IMM_SET_CONVERSION_WINDOW_REPLY,
yasushi> ->			       (WPARAM) 0, (LPARAM) 0);
yasushi> 
HIMI> そう。で、もう一方のmain threadはどこでとまってるんだっけ?

yasushi> main threadはprocess.cの2607行目、wait_reading_process_input()でした。
yasushi> 
yasushi>       else
yasushi>         nfds = select (max (max_process_desc, max_keyboard_desc) + 1,
yasushi>                        &Available, (SELECT_TYPE *)0, (SELECT_TYPE *)0,
yasushi> ->                     &timeout);
yasushi> 
yasushi>       xerrno = errno;

 症状も出ないのでちょっと見ただけですが, mw32term.c:9191 で,

> 	PostMessage (FRAME_MW32_WINDOW (f),
> 		     WM_MULE_IMM_SET_CONVERSION_WINDOW,
> 		     (WPARAM) WINDOW_TEXT_TO_FRAME_PIXEL_X (w, x),
> 		     (LPARAM) WINDOW_TO_FRAME_PIXEL_Y (w, y));
>     }

 とやったあと知らん振りして関数からで照っちゃってるんですが, これっ
てREPLYを受け取るのを忘れてませんか?

# もしそうなら「キューの両側で握手すんなよ-_-#」というわけです^^;
## 握手しなきゃいいという問題でもないんですがね.

-- 
堀口恭太郎