バグ: デバッグモード時にF3を押し続けるとデバッガが増殖する
cardwirthpy_20160219
CardWirthPy 0.12.4 Alpha 4
Build: 2016-02-19 19:40:55
表題のとおりです。
デバッグモード時にF3
を押しっぱなしにしてデバッガの開閉を繰り返すと、
押し続けた時間だけデバッガが無制限に増殖していきます。
Comments (6)
-
repo owner -
reporter cardwirthpy_20160219b CardWirthPy 0.12.4 Alpha 4 Build: 2016-02-19 21:33:35
確率は大きく下がりましたが、 多重にオープンしてしまうことがありました。
そもそも
F3
を押し続けていると開閉を高速で繰り返してしまう挙動に問題があると思います。F6
の同行キャスト表示のように 一度キーから指を離さないと入力を受け付けないようにされてみてはどうでしょうか。 -
repo owner pull request #1339で同期処理を行うようにしました。これでどうでしょうか。
そもそもF3を押し続けていると開閉を高速で繰り返してしまう挙動に問題があると思います。 F6の同行キャスト表示のように 一度キーから指を離さないと入力を受け付けないようにされてみてはどうでしょうか。
これには実はちょっとした問題があります。
いわゆるメニューのショートカットキーというものは、キーを押下したタイミングで処理されるものとWindowsでは決まっています。また、キーを押し続けるとキー押下イベントが連続発生するものとも決まっています。キーが上がった時に開閉処理を行うようにすれば連続での処理は回避できますが、そうすると、
- デバッガ上でF3押下でショートカットキー処理
- デバッガ閉じる
- F3を離す
- キーが上がったのでデバッガ開閉処理が発生
- 閉じたはずのデバッガが再度開く、
という事になってしまいます。これを解決するには誤動作の可能性のあるあんまり確実でない方法に頼らなくてはならないので、妥協して今のような形になっています。
-
reporter cardwirthpy_20160219d CardWirthPy 0.12.4 Alpha 4 Build: 2016-02-19 23:25:30
数分間押し続けてみましたが、多重オープンすることはありませんでした。 多重に開いてしまうことは無くなったと思います。
F3
によるデバッガの開閉を多用しているので今回この問題に気が付くことが出来ましたが、 さすがにデバッガの高速開閉を楽しむ奇特な方はいらっしゃらないでしょうし、 確かに徹底的に取り組むような問題ではないのかもしれませんね。 (余談ですが、個人的に興味のある問題ではありますがPythonのインデントがどうにも苦手でして……。 提案や検証、バグ報告くらいしかできそうにありません。) -
repo owner ありがとうございます。では、これで完了とさせていただきます。
Pythonは結構特殊な部類に入る文法の言語ですから、とっつきにくいのは仕方ないと思います(私もCWPyがなければまだ触れていなかったかもしれません)。慣れればいい言語なんですけどね。
-
repo owner - changed status to resolved
- Log in to comment
ご報告ありがとうございます。
デバッガをクローズして、デバッガがオープン済みかどうかの判断に使う変数を初期化するまでのタイミングにオープン操作を複数割りこませる事ができてしまっていたようです。
pull request #1337で修正できたと思います。