戦闘開始後、画面サイズ変更してから手札カードダイアログを開くと表示がおかしい

Issue #70 resolved
takuto_cw created an issue

βリリース前に、自分が見つけたけどまだ直せていないバグの数々を投下します。 余裕のある方、どうか手伝っていただけないでしょうか…? (経緯は#69をご覧ください)

cardwirthpy_20130825 + winXP で確認しました。

戦闘開始後、画面拡大(ないし拡大解除)して手札カードダイアログを開くと、カードが何も表示されない。カードがあるべき場所にマウスカーソルを持っていくとカード画像が出てくるが、「カード交換」のカードだけはそれでも出てこない。

エラーメッセージは以下のとおりです。

Traceback (most recent call last):
 File "cw\dialog\cardcontrol.pyo", line 254, in OnPaint
 File "cw\dialog\cardcontrol.pyo", line 1170, in draw
 File "cw\dialog\cardcontrol.pyo", line 324, in draw_cards
 File "cw\dialog\cardcontrol.pyo", line 336, in draw_card
 File "cw\header.pyo", line 224, in get_cardwxbmp
 File "cw\image.pyo", line 172, in get_cardwxbmp
 File "cw\image.pyo", line 140, in get_cardimg
AttributeError: 'NoneType' object has no attribute 'hold'

どうぞよろしくお願いします。

Comments (6)

  1. k4nagatsuki repo owner

    a3a154fcf59a で解消。カード交換は消費用にコピーを作成する必要がなく、そのためカード画像生成時にホールド状態の参照のためにコピー元を見ようとした時にエラーが発生。そのエラーのため、後続の各カードの描画処理に辿りつけなかったようです。

    実際にはカード交換はホールドできないためホールド判定のためにコピー元を参照する必要がありません。

    ご確認をよろしくお願いします。

  2. takuto_cw reporter

    こちらも修正を確認いたしました。作業ありがとうございました!

    ホールド状態の参照…そのあたりは全然見てませんでした。いつも丁寧な解説をありがとうございます。

  3. Log in to comment