保存確認メッセージが非フォーカス状態で表示される
- ページ: BugReport
- 投稿者: anonymous
- 優先順位: 低
- 状態: 提案
- カテゴリー: まとめて閉じる機能
- 投稿日: 2014-05-23 (金) 08:41:42
- バージョン: 2.0.7.1 〜 2.1.1.3
メッセージ
複数ドキュメントをタブ表示していて、
・アクティブタブのドキュメントは変更なし
・非アクティブタブのドキュメントは変更あり
の状態からグループを閉じる操作(Alt+F4や×ボタン)をすると、
「xxxは変更されています。閉じる前に保存しますか?」の確認メッセージが表示されるが、
このときメッセージボックスからフォーカスが外れていて、キーボード操作(Y/N/ESC)を受け付けない。
※たまにフォーカスが当たっているときもあるようですが、わりと頻繁にフォーカスが外れています
キーボード中心の操作で閉じる(Alt+F4 → Y/N/ESC)ときに不便になりました。
それどころか、YやNを押した後に気付いてフォーカスを当て直し、キャンセル操作すると、
変更なしだったドキュメントのほうにYやNが入力されてしまっています。
上記のグループを閉じる操作(Alt+F4や×ボタン)のかわりに
タスクトレイから全終了させようとしたらメッセージ表示したまま無応答になりました。
※こちらもうまくいくときもあるようです
orz...
【追記】
タブバーOFFでも、背後のエディタが変更状態で全終了しようとするとおかしくなるみたいです。
メッセージボックス表示中、表示元エディタが手前に出ずに、終了指示元のエディタが手前で無応答になっています。
メッセージ表示元エディタが手前に出たとしても、終了指示元エディタが後方で無応答になっているのはNGと思います。
自分は普段タブバーONで使っていますが、タブバーOFFのほうが異常な挙動が顕著ですね。これまで報告されなかったのが不思議なくらいです。
昔のバージョン(2.0.6.0以前)に戻すとこれらの問題はありません。
- コミットログを見ただけですが、rev2832(複数ウィンドウを閉じる時にウインドウの遷移を抑制しバタつかない様にする)あたりからかも -- 投稿者?
CAppNodeGroupHandle::RequestCloseEditor()の中でコメントアウトされているActivateFrameWindow()を復活させれば治癒する? -- 投稿者?
- rev2832以前の処理(アクティブになった画面のプロセスが次の画面をアクティブ化するということを連鎖的に繰り返す方式[CEditWnd::OnClose()])に全面的に戻したほうが、多くのOS環境で将来的にも安定動作が保障される気がするんだけど…。元がその方式になっていたのは、非アクティブなプロセスによる自/他プロセスのアクティブ化はブロックされる心配がある(新OSになるほどそういった制約は厳しくなる)から、という意図があってのことだと思われ -- 投稿者?
rev2832_fix8.patch 156件
[詳細]