以下の内容はhttps://toburau.hatenablog.jp/entry/20091030/1256921402より取得しました。


テクスチャ解放のバグ

テクスチャ管理システムが保持しているテクスチャリストをデバッガで調べていたら、使用しなくなったテクスチャをちゃんと解放できていないことが分かった。
なぜだろうと調べていったらテクスチャ解放を行っているオブジェクトのデストラクタが呼ばれていなかった。もうこれは単純なミス。基底クラスのデストラクタにvirtualが付いていなかったのが原因。これを修正して無事にテクスチャが解放できた。
これでもう大丈夫と思ったら、今度はプログラムを終了しようとすると落ちてしまうようになった。これはタスクシステムの終了より先にテクスチャ管理システムを終了していたのが原因。タスクシステムを終了するときにまだ残っているタスクを削除する。このときタスクのデストラクタが呼ばれ、使用していたテクスチャを解放しようとする。ところがすでにテクスチャ管理システムが終了してしまっているので落ちてしまう。
これはタスクシステムを終了してからテクスチャ管理システムを終了するように順番を正しく修正。今まではちゃんとデストラクタが呼ばれていなかったためプログラムが落ちることは無く、このバグに気が付かなかった。
前のプロジェクトで最低限の機能は実装できたと思っていたのに、まだこんなに大きなバグが残っていたとは。




以上の内容はhttps://toburau.hatenablog.jp/entry/20091030/1256921402より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14