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

Re: [MD:7043] Re: r3987 - trunk/src



訂正 & 追加

>  これは微妙なのですが, 複数の場所で行われています.

 これ以外には1箇所だけですね. カレットの処理でメインスレッドからウィ
ンドウプロシージャを呼び出すので一時的に W32_UNBLOCK_INPUT をして
います. (これをやったのは私ではないと思うのですが..)

 ところで, いま W32_BLOCK_INPUT の使われ方を見てみたのですが, これ
も WM_PAINT による expose_frame と他の描画処理を同時に走らせないよ
うにするものと考えていいのでしょうか.

 だとしたらこの状態からW32_BLOCK/UNBLOCK_INPUT を単純になくしてし
まうというもの手だと思います. W32_BLOCK_INPUT だと WM_PAINT をブロッ
クしてしまうのでメインスレッドの描画部からウインドウプロシージャへ
の処理の依頼を出す必要がある場合にデッドロックが起きがちになります.

 そして, このやり方を進めると結局フレームで管理すべき hdc はひとつ
だけにできるので全体がシンプルになると思います.

 過激すぎですか?

-- 
ほりぐちきょうたろう