バグ: 画面拡大が有効な時、Alt+F4で終了させようとすると終了確認ダイアログが乱れる・フリーズする
Issue #313
resolved
CardWirthPy 0.12.4 Alpha 3 Build: 2015-12-27 23:29:44
F4
キーによる「画面拡大」が有効かつ「未保存時の終了確認ダイアログ(保存せずに終了しようとしたら警告する)」を表示するようにしている環境下で、
Alt+F4
を押してCWPyを終了させようとした時、確認ダイアログの表示が乱れてしまうことがありました。描画倍率が2倍の場合はエラーを吐きました。1倍では吐きませんでした。
- 「何も表示されない」、「警告文が異常に大きくダイアログに収まりきらない」、「ボタン内の はい・いいえ のサイズが異なる」、「ダイアログが正常に描画しきれていない。壁紙すらない。(メモ帳など別のウィンドウで拭ってやると表示される)」など。
また、さらにフルスクリーンの場合は確認ダイアログにフォーカスが移らず、そのままF4
で拡大状態の切替が可能など、
確認ダイアログを出したままキーボードによる操作を受け付けていました。
- CWPyを起動してすぐに
Alt+F4
で終了させようとしてフリーズ。操作をまったく受け付けなくなり、プロセスを直接終了させました。(フルスクリーンにチェックを入れている場合に発生) - 補足として、フルスクリーンにチェックを入れていない場合は特に問題なく終了するものの、終了直前に
F4
を押して拡大状態を切り替えたとみなされ、次回起動時に画面の拡大状態が変更された状態になる。
Traceback (most recent call last):
File "cw\frame.pyo", line 439, in OnCloseFromFrame
File "cw\frame.pyo", line 457, in OnCLOSE
File "cw\dialog\message.pyo", line 85, in __init__
File "cw\dialog\message.pyo", line 37, in __init__
AttributeError: 'NoneType' object has no attribute 'create_wxbutton'
Traceback (most recent call last):
File "cw\frame.pyo", line 439, in OnCloseFromFrame
File "cw\frame.pyo", line 457, in OnCLOSE
File "cw\dialog\message.pyo", line 85, in __init__
File "cw\dialog\message.pyo", line 37, in __init__
AttributeError: 'NoneType' object has no attribute 'create_wxbutton'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 57, in OnPaint
AttributeError: 'NoneType' object has no attribute 'dialogs'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 62, in OnPaint
AttributeError: 'NoneType' object has no attribute 'get_wxfont'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 62, in OnPaint
AttributeError: 'NoneType' object has no attribute 'get_wxfont'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 62, in OnPaint
AttributeError: 'NoneType' object has no attribute 'get_wxfont'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 62, in OnPaint
AttributeError: 'NoneType' object has no attribute 'get_wxfont'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 62, in OnPaint
AttributeError: 'NoneType' object has no attribute 'get_wxfont'
Traceback (most recent call last):
File "cw\dialog\message.pyo", line 62, in OnPaint
AttributeError: 'NoneType' object has no attribute 'get_wxfont'
Comments (5)
-
repo owner -
repo owner pull request #1247で修正しました。
-
reporter CardWirthPy 0.12.4 Alpha 3 Build: 2015-12-28 22:42:39
pull request #1247の修正を確認しました。
正常に作動、異常無く
Alt+F4
が優先されることを確認しました。 -
repo owner ご確認ありがとうございます。クローズします。
-
repo owner - changed status to resolved
- Log in to comment
ご報告ありがとうございます。これはいけない。Windows環境での
Alt+F4
はCWPyでは処理しない事にしないといけませんね(そもそもそのキー操作ってアプリケーション側でフックできちゃうのか)。今から修正します。