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

[meadow-develop:1997/331]menubar and minibuffer



うーん。check mateと思っても、するっと逃げられるなぁ。

KORIYAMA Naohiro <kory@xxxxxxxxxxxxxxxx> writes:

> himi> なんか、かなり頑張って直したんだけど、まだつめが甘かったか。;_;
> himi> よし、なら、これでどうだ。
> 
> コンパイルし直してみましたが、どうも駄目でした。。。
> 
> 起動して出てきたフレームで、例えばGnusなどを立ちあげてメッセージを見る
> ときに、この現象が起きますが、一度ちょこっとリサイズすると大丈夫なよう
> です。

じゃあ、これでどうです?
## いかん、こんなことやっている場合じゃない。

From himi

diff -u g:/release/source/meadow/src/mw32fns.c mw32fns.c 
--- g:/release/source/meadow/src/mw32fns.c	Thu Dec 18 07:58:17 1997
+++ mw32fns.c	Wed Dec 24 06:57:48 1997

@@ -2214,13 +2215,18 @@
   case WM_WINDOWPOSCHANGED:
 	
     if (!f->async_iconified && f->async_visible &&
-	f->output_data.w32->frame_change_state != 2)
+	f->output_data.w32->frame_change_state < 2)
+      /* To adjust window correctly,
+	 we must check size of the window twice
+	 (strictly speaking number of dimention),
+	 thus, width and height. */
       {
 	LPWINDOWPOS lppos = (LPWINDOWPOS) lParam;
 
-	f->output_data.w32->frame_change_state = 2;
+	f->output_data.w32->frame_change_state++;
 
-	if (!(lppos->flags & SWP_NOSIZE))
+	if ((!(lppos->flags & SWP_NOSIZE)) ||
+	    (lppos->flags & SWP_DRAWFRAME))
 	  {
 	    RECT rect;
 	    int wdiff;
@@ -2252,9 +2258,7 @@
 	      }
 	  }
       }
-
-    if (f)
-      f->output_data.w32->frame_change_state = 0;
+    f->output_data.w32->frame_change_state = 0;
 
     goto dflt;
 #endif