[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:2985] Meadow 1.99a1 - Access violation.
- X-ml-count: 2985
- Subject: [MD:2985] Meadow 1.99a1 - Access violation.
- From: Kyotaro HORIGUCHI <horiguchi.kyotaro@xxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 26 Feb 2002 12:07:24 +0900 (JST)
- User-agent: Mew version 3.0.50 on Emacs 20.7 / Mule 4.1 (葵) / Meadow-1.15pre1 (SHOUBU:63)
me> ということならこんな感じでなおりますね.
yasushi> 試してみました。今度は起動直後に固まりました。場所は上の
yasushi> WAIT_REPLY_MESSAGEのところです。
ごめんなさい.. 自分のところで動かしたら一発で固まってます^^;
それにしても..
WM_SETFOCUS-->PostMessage...->WAIT_REPLY_MESSAGE->mw32_WndProc->WM_SETFOCUS
って繰り返してますね.
WM_SETFOCUS の処理で mw32m_mew_focus_frame を無条件で呼び出して
いるのがこの WM_SETFOCUS ストーム(?)を引き起こしているみたいに見
えます.
無条件で呼び出す意図はつかめていないのですが, 問題がなければ
f != selected_frame のときだけ処理するようにしたほうがいいと思うの
ですがどうでしょう> himiさん
yasushi> # 堀口さんところでは大丈夫なんですよね。なんでだろう。
というわけでこれ↓は試してみました. 先ほどのに追加です. 私のとこ
ろでは一応動いているように見えます. 固まるかどうか試してみてくだ
さい.
Index: mw32fns.c
===================================================================
RCS file: /usr/local/Meadow/cvsroot/Meadow/src/mw32fns.c,v
retrieving revision 1.26
diff -u -r1.26 mw32fns.c
--- mw32fns.c 2002/02/09 12:52:59 1.26
+++ mw32fns.c 2002/02/26 03:03:32
@@ -2963,8 +2963,6 @@
case WM_SETFOCUS:
- mw32m_new_focus_frame (dpyinfo, f);
-
/* This code is for switching selected-frame. In order to
generate no events before Emacs is set up, check whether
selected_frame is initial terminal frame. This is because
@@ -2973,9 +2971,11 @@
if (SELECTED_FRAME ()
&& (SELECTED_FRAME () != XFRAME (Vterminal_frame))
&& (SELECTED_FRAME () != f))
- PostMessage (hwnd, WM_EMACS_ACTIVATE,
- (WPARAM) 0, (LPARAM) 0);
-
+ {
+ mw32m_new_focus_frame (dpyinfo, f);
+ PostMessage (hwnd, WM_EMACS_ACTIVATE,
+ (WPARAM) 0, (LPARAM) 0);
+ }
/* TODO: caret setting!!! */
return 0;
--
堀口恭太郎