バグ:スキンにResource\Image\CardBg\LARGE.bmpがないとフリーズ
Issue #534
resolved
起動時およびスキン切り換え時に確認。
Version : 2.0 Beta 2 / 2017-06-11 01:05:42
DateTime: 2017-06-13 16:46:15
Traceback (most recent call last):
File "cw\thread.pyo", line 730, in run
File "cw\thread.pyo", line 760, in _run
File "cw\thread.pyo", line 769, in main_loop
File "cw\eventhandler.pyo", line 113, in run
File "cw\eventhandler.pyo", line 626, in executing_event
File "cw\thread.pyo", line 1945, in set_yado
File "cw\thread.pyo", line 476, in update_skin
File "cw\thread.pyo", line 593, in update_scale
File "cw\data.pyo", line 177, in update_scale
File "cw\sprite\card.pyo", line 534, in update_scale
File "cw\sprite\card.pyo", line 567, in update_image
File "cw\image.pyo", line 725, in get_image
File "cw\image.pyo", line 1336, in smoothscale
ValueError: Cannot scale to negative size
必須ファイルを変える側が悪いんですが、スキンをカスタマイズ中にはわりと起こりえる事故だと思いますし、(とりあえず差し替えようとした初心者が遭遇するとバイバイ案件) 設定ダイアログでの切り替えで発生するとタスクマネージャから殺すしかないので、 エラー回避コードを入れたり、あるいはスキンベースにダミー素材を置くなりした方がいいのではと思ったので課題を立てておきます。
Comments (5)
-
repo owner -
reporter お疲れ様です。フリーズしなくなっているのを確認しました。
一応リソースが無い時は警告を出すようにしました
ソースで実行した場合にはコマンドプロンプトとダイアログにリソースエラーが出ているのですが、 どうも実行ファイルではUnicode問題が起きているようでダイアログが出ていません(終了時ログ出力)
Traceback (most recent call last): File "cw\frame.pyo", line 331, in OnEXECFUNC File "cw\setting.pyo", line 2003, in errfunc File "C:\Python27\lib\site-packages\py2exe\boot_common.py", line 67, in write self._file.write(text) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
-
reporter sys.stderr.write
が原因ぽいですね。消してビルドしたらダイアログが出るようになりました。それとおそらく
self._put_nokeyvalue(key)
を消した事による影響でシステム効果音が鳴らなくなっているようです。 (効果音コンテントは鳴る) -
repo owner - pull request #1929
- pull request #1930
エラーログに非ASCII文字を出そうとするとそこでエラーになる事をすっかり忘れていました。以前取り組んだ時はどうにもならなかったのでエラーログには英文で出す事にします。Python 3なら解決しているはず……。
-
reporter - changed status to resolved
あっ、終了時エラーログが出てしまうこと自体は意図された仕様なんですね。 真上のログと混ざってうっかり誤報告するところでした…
修正確認しました。ではこれで解決とします。
- Log in to comment
pull request #1928
元々イメージが存在しない時には空のイメージを作るようにしているのですが、その空のイメージのリサイズを行おうとすると別の問題が発生します。今回のエラーはそれです。
一応リソースが無い時は警告を出すようにしましたが(元々あったが機能していなかった)、今回のような個別の問題は残っていると思われます。