Closed Nobu19800 closed 8 years ago
Windowsで使用していた際にいくつか不具合が発生したため、いくつか変更・修正を行いました。
1. 値を返していない関数があったためビルドに失敗する
VC++の場合は値を返さない関数があるとエラーになるので値を返すように変更しました。
2. PrimitiveShapeの大きさを変更した場合に シーンビューに変更前のShapeが残る
PrimitiveShapeItemクラスのメンバ変数shapeとonUpdated関数内のローカル変数の名前が同じであるため、おそらくメンバ変数のshapeを初期化したいのにローカル変数のshapeを初期化していることが原因だと思います。onUpdated関数内で変数shapeを新たに宣言する必要はなさそうなので修正しました。
3. ファイルからモデルを読み込み後、ツリーからJointItemをコピーしようとするとプロセスが異常終了する
EditableModelItemImplクラスのloadModelFile関数内で変数newBodyが破棄される際に保持しているLinkオブジェクトも同時に破棄されます。JointItemでもLinkオブジェクトを保持しているのですがこれがスマートポインタではなくただのポインタで保持していため、すでに破棄されているとは知らずにアクセスしにいくことがあるようです。このためJointItemクラスの変数linkの型をLinkPtrに変更しました。
ありがとうございます。
Windowsで使用していた際にいくつか不具合が発生したため、いくつか変更・修正を行いました。
1. 値を返していない関数があったためビルドに失敗する
VC++の場合は値を返さない関数があるとエラーになるので値を返すように変更しました。
2. PrimitiveShapeの大きさを変更した場合に シーンビューに変更前のShapeが残る
PrimitiveShapeItemクラスのメンバ変数shapeとonUpdated関数内のローカル変数の名前が同じであるため、おそらくメンバ変数のshapeを初期化したいのにローカル変数のshapeを初期化していることが原因だと思います。onUpdated関数内で変数shapeを新たに宣言する必要はなさそうなので修正しました。
3. ファイルからモデルを読み込み後、ツリーからJointItemをコピーしようとするとプロセスが異常終了する
EditableModelItemImplクラスのloadModelFile関数内で変数newBodyが破棄される際に保持しているLinkオブジェクトも同時に破棄されます。JointItemでもLinkオブジェクトを保持しているのですがこれがスマートポインタではなくただのポインタで保持していため、すでに破棄されているとは知らずにアクセスしにいくことがあるようです。このためJointItemクラスの変数linkの型をLinkPtrに変更しました。