BugReport/165 のバックアップの現在との差分(No.5)




  • 追加された行はこの色です。
  • 削除された行はこの色です。
* 保存確認メッセージが非フォーカス状態で表示される [#rf781f09]
-ページ:     [[BugReport]]
-投稿者:     [[anonymous]]
-優先順位:   低
-状態:       提案
-状態:       完了
-カテゴリー: まとめて閉じる機能
-投稿日:     2014-05-23 (金) 08:41:42
-バージョン: 2.0.7.1 〜 2.1.1.3
-バージョン: 2.0.7.1 〜 2.1.1.3(一部のコマンドについては2.1.1.3以前を含む2.x系すべて)

** メッセージ [#y0779cea]
複数ドキュメントをタブ表示していて、~
・アクティブタブのドキュメントは変更なし~
・非アクティブタブのドキュメントは変更あり~
の状態からグループを閉じる操作(Alt+F4や×ボタン)をすると、~
「xxxは変更されています。閉じる前に保存しますか?」の確認メッセージが表示されるが、~
このときメッセージボックスからフォーカスが外れていて、キーボード操作(Y/N/ESC)を受け付けない。~
※たまにフォーカスが当たっているときもあるようですが、わりと頻繁にフォーカスが外れています

キーボード中心の操作で閉じる(Alt+F4 → Y/N/ESC)ときに不便になりました。~
それどころか、YやNを押した後に気付いてフォーカスを当て直し、キャンセル操作すると、~
変更なしだったドキュメントのほうにYやNが入力されてしまっています。~

上記のグループを閉じる操作(Alt+F4や×ボタン)のかわりに~
タスクトレイから全終了させようとしたらメッセージ表示したまま無応答になりました。~
※こちらもうまくいくときもあるようです~
orz...

【追記】~
タブバーOFFでも背後のエディタが変更状態で全終了しようとするとおかしくなるみたいです。~
メッセージボックス表示中、表示元エディタが手前に出ずに、終了指示元のエディタが手前で無応答になっています。~
メッセージ表示元エディタが手前に出たとしても、メッセージ表示中に終了指示元エディタが背後で無応答になっているのはNGと思います。~
タブバーOFFのほうが異常な挙動が顕著ですね。これまで報告されなかったのが不思議なくらいです。
&color(Red){【追記1】};~
タブバーOFFで、背後のエディタが変更状態で全終了しようとするとおかしくなります。~
メッセージボックス表示中、メッセージ表示元エディタが手前に出ずに、終了指示元のエディタ(全終了コマンドを入力したエディタ)が手前で無応答になります。~
(仮にメッセージ表示元エディタが手前に出たとしても、終了指示元エディタが後方で無応答なら、NGですが。)~

昔のバージョン(2.0.6.0以前)に戻すとこれらの問題はありません。
&color(Red){【追記2】};~
【追記1】と同様の現象がタブバーONでも起きます。複数グループ表示していて全終了指示した場合に、背後のグループでメッセージボックスが表示されると、終了指示元のエディタが手前で無応答になります。~

&color(Red){【追記3】};(2014-06-05)~
タブバーONで、[(無題)1(更新)]と[(無題)2]を表示していて、[(無題)2]の画面から
「このタブ以外(/左/右)を閉じる」を実行し、[(無題)1(更新)]画面の保存確認
ダイアログを 'N' で閉じると、
[(無題)2]画面に戻ったときに、[(無題)2]タブが非選択状態になります。~

&color(Red){【追記4】};(2014-06-05)~
タブバーONで、[(無題)1(更新)]〜[(無題)19(更新)](多数の未保存文書)と[(無題)20]を表示していて、[(無題)20]の画面から
「このタブ以外(/左/右)を閉じる」を実行し、[(無題)1(更新)]〜[(無題)19(更新)]画面の保存確認
ダイアログを 'N' で次々に閉じていくうちに、
どこか途中からダイアログを表示している画面ではなく[(無題)20]の無応答画面が表示されるようになります。~
~
&color(Blue){2.0.6.0以前のバージョンに戻すとこれらの問題はありません。};~
&color(Blue){(ただし、【追記4】については2.0.6.0以前の2.x.x.xや1.6.6.0を含む全バージョンで起きます。)};~
&color(Blue){本件の問題の多くは、rev2832での変更によるものです。};~
~
※ 通常の環境では報告の通り、保存確認メッセージが非フォーカスになる現象が起きるはずですが、何か他のアプリが無理やりSystemParametersInfoのSPI_GETFOREGROUNDLOCKTIMEOUTの時間をゼロにしたまま放置したとか、特殊な環境では再現しない可能性があります。~
自分が確認したところでは、Win7(x86)×2台+Win7(x64)×2台+Win8.1(x64)×2台+Server2008R2の合計7台(うち3台は他者管理下のほぼ新規セットアップ直後状態のPC)すべての環境で再現しています。

----
- コミットログを見ただけですが、rev2832(複数ウィンドウを閉じる時にウインドウの遷移を抑制しバタつかない様にする)あたりからかも -- [[投稿者]] &new{2014-05-23 (金) 09:46:13};
- %%CAppNodeGroupHandle::RequestCloseEditor()の中でコメントアウトされているActivateFrameWindow()を復活させれば治癒する?%% -- [[投稿者]] &new{2014-05-23 (金) 10:19:02};
- コメントが多くて見苦しくなったのでまとめて削除しました。あと、自作パッチも整理して最新版(rev2832_fix8.patch)だけにしました。 -- [[投稿者]] &new{2014-06-07 (土) 22:09:49};
- [[upatchid:858]] 転載しました --  &new{2014-07-03 (木) 03:48:41};
- [[svn:3820]] --  &new{2014-10-04 (土) 20:00:04};
- 2.1.1.4で修正済み --  &new{2015-08-01 (土) 11:33:50};

#comment
#attach


    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS