Py5.0α3のバグ:シナリオ実行中に情報カードを見ようとする停止する

Issue #1036 resolved
sonofthesoil created an issue

Jimさんのシナリオ「冒険者の宿で」をプレイしている際、エラーが発生しました。何度か試したところ、次のパターンで発生するようです。

1 キャンプから情報カード画面を開き、拡張機能欄を表示した状態にする。

2 情報カードを入手する。

3 再びキャンプから情報カード画面を開き、拡張機能欄を閉じる。

4 情報カード画面が反応しなくなるので、ウィンドウ右上のxを押して閉じる

5 CWを終了する。

6 エラー発生表示が出る。

エンジンバージョンは、CardWirthPy 5.0 Alpha 3 (64-bit)

ビルド番号は、2021-04-02 23:28:12

プレイ環境は、Win10 Pro(64bit)、メモリ8GBです。

Comments (4)

  1. tachi gigas

    お疲れ様です。

    再現を確認しました。恐らく情報カードダイアログの状態に関わらず、当該ダイアログにて拡張機能欄のボタンを押した瞬間にエラーになりますね。

    くだんのエラーは、ご提示いただきましたエラーログの下から二行目の、名前が_update_sortattrというプログラムの部品(関数と言います)によるものですが、この関数は issue #969 の流れで、関数の中身が別の場所に移され、絶対にエラーを返す関数となったようです。本来そこではエラーにしてはいけないのか、そもそもこの関数が呼び出されてはいけないのか、内部仕様に影響が予測されますので、申し訳ありませんが、k4nagatsuki様の開発環境が復帰し、ご意見を拝借できるまでは控えたいと思います。

  2. k4nagatsuki repo owner

    pull request #254

    ご報告及び調査ありがとうございます。_update_sortattrは整列条件が変更された時に呼び出されるべきメソッドです。CardHolderはいくつかのダイアログの親クラスとなったので、必要なもの以外で誤って呼び出されないように保険的に例外を投げるようにしたのですが、案の定整列の必要のない情報カードビューでそれが呼び出されていました。

  3. Log in to comment