◀Unicode版開発トップへ
  • 23 印刷プレビューすると落ちる件
    • 28 Re:印刷プレビューすると落ちる件
    • 68 Re:印刷プレビューすると落ちる件
      • 80 Re2:印刷プレビューすると落ちる件
        • 87 Re3:印刷プレビューすると落ちる件
  • [23] 印刷プレビューすると落ちる件 Uchi 2007年11月17日 12:22

    54 ハングルの一覧ファイルで印刷プレビューすると落ちる

    の原因がわかりましたのでご報告します。

    CLayoutMgr.hの220行目
    bool _ExistKinsokuKuto(wchar_t wc) const{ return m_pszKinsokuKuto_1.size() && wcschr(&m_pszKinsokuKuto_1[0],wc)!=NULL; }

    が原因でした。
    m_pszKinsokuKuto_1 は std::vector の変数なのでnull文字で終点されているわけでないのに、
    wcschr() というnull文字終端を期待する関数を使用しているのが原因です。

    現象としては、印刷時に発生していましたが、起動時などにも発生しうる状況でしょう。
    その下の _ExistKinsokuHead関数 も同様でしょう(使用されていないようですが)

    キャストは控えめにということで。
    • [28] Re:印刷プレビューすると落ちる件 kobake 2007年11月17日 23:42

      ▼ Uchiさん
      > 54 ハングルの一覧ファイルで印刷プレビューすると落ちる
      >
      > の原因がわかりましたのでご報告します。
      >
      > CLayoutMgr.hの220行目
      > bool _ExistKinsokuKuto(wchar_t wc) const{ return m_pszKinsokuKuto_1.size() && wcschr(&m_pszKinsokuKuto_1[0],wc)!=NULL; }
      >
      > が原因でした。
      > m_pszKinsokuKuto_1 は std::vector の変数なのでnull文字で終点されているわけでないのに、
      > wcschr() というnull文字終端を期待する関数を使用しているのが原因です。
      >
      > 現象としては、印刷時に発生していましたが、起動時などにも発生しうる状況でしょう。
      > その下の _ExistKinsokuHead関数 も同様でしょう(使用されていないようですが)
      >
      > キャストは控えめにということで。

      なるほど…!ご調査ありがとうございます。
      作業範囲の多さもあって、深く理解も検証も行わないまま
      「機械的に」ガンガンソースいじり倒した箇所が多々あって、そのつけが回った感じですorz

      全般を通して「ピアレビュー」的なプロセスが必要かもしれません。
    • [68] Re:印刷プレビューすると落ちる件 kobake 2007年11月27日 23:29

      遅くなりましたが、修正パッチを登録しました。
      情報ありがとうございました。

      PatchUnicode#1839483 印刷プレビューで落ちる問題の修正
      • [80] Re2:印刷プレビューすると落ちる件 Uchi 2007年12月01日 16:30

        ▼ kobakeさん
        > 遅くなりましたが、修正パッチを登録しました。
        > 情報ありがとうございました。
        >
        > PatchUnicode#1839483 印刷プレビューで落ちる問題の修正
        動作確認いたしました。
        必ず発生するものでもないので動作確認だけでは問題があるので、
        コード等も追ってみて、問題ないようでした。
        • [87] Re3:印刷プレビューすると落ちる件 kobake 2007年12月05日 01:23

          ▼ Uchiさん
          > 動作確認いたしました。
          > 必ず発生するものでもないので動作確認だけでは問題があるので、
          > コード等も追ってみて、問題ないようでした。

          レビューありがとうございます。
          コミットしました。(rev:1205)