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

[MD:4367] Re: Meadow2 のウィンドウ最大化時の(些細な)不具合



meadow-develop に振ります。

>>>>> [meadow-users-jp : No.4526] にて
>>>>> "毛利" = Masayuki Mohri <masayuki@xxxxxxxxxxxx> さんは書きました:
毛利> 上記の環境でデスクトップ・テーマを Windows Classic (Windows
毛利> 2000 と同等) にして Meadow2 のウィンドウを最大化すると, ミ
毛利> ニ・バッファが半分ぐらいタスク・バーに隠れてしまいます.
毛利> デスクトップ・テーマを Windows XP (Luna) にすると問題ありま
毛利> せん.

ディスプレイのサイズよりも大きな frame が開かれてしまうのが原因で
す。

下記 A の部分で、frame の高さが、行の高さの整数倍となるように調整
(四捨五入)されるコードに問題があるようです。

これを回避するために、この A の部分を削除したいのですが、構わない
でしょうか?

ちなみに、ここを削除すると NTEmacs と同じ振る舞いとなります。


mw32_WndProc()@mw32fns.c:
>    case WM_WINDOWPOSCHANGED:
snip
> 	    wdiff = ((width
> 		      - 2 * (FRAME_INTERNAL_BORDER_WIDTH(f)
> 			     + f->output_data.mw32->flags_areas_extra)
> 		      - f->output_data.mw32->vertical_scroll_bar_extra)
> 		     % FRAME_DEFAULT_FONT_WIDTH(f));
> 	    hdiff = ((height
> 		      - 2 * FRAME_INTERNAL_BORDER_WIDTH(f))
> 		     % FRAME_LINE_HEIGHT(f));
>
> 	    if ((2 * wdiff) > FRAME_DEFAULT_FONT_WIDTH(f)) <== A
> 	      wdiff -= FRAME_DEFAULT_FONT_WIDTH(f);        <== A
> 	    if ((2 * hdiff) > FRAME_LINE_HEIGHT(f))        <== A
> 	      hdiff -= FRAME_LINE_HEIGHT(f);               <== A
> 
> 	    width -= wdiff;
> 	    height -= hdiff;

--
三好 雅則 mailto:miyoshi@xxxxxxxxxxxxxxxx
          http://www.boreas.dti.ne.jp/~miyoshi/ (Meadow2 のページ始めました)