diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/titanic/support/video_surface.cpp | 7 | ||||
-rw-r--r-- | engines/titanic/support/video_surface.h | 1 | ||||
-rw-r--r-- | engines/titanic/titanic.cpp | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/engines/titanic/support/video_surface.cpp b/engines/titanic/support/video_surface.cpp index fd570e5d9a..7455e8cfef 100644 --- a/engines/titanic/support/video_surface.cpp +++ b/engines/titanic/support/video_surface.cpp @@ -41,8 +41,6 @@ CVideoSurface::CVideoSurface(CScreenManager *screenManager) : } CVideoSurface::~CVideoSurface() { - if (_ddSurface) - _videoSurfaceCounter -= freeSurface(); --_videoSurfaceCounter; if (_freeTransparencySurface == DisposeAfterUse::YES) @@ -334,6 +332,11 @@ OSVideoSurface::OSVideoSurface(CScreenManager *screenManager, const CResourceKey } } +OSVideoSurface::~OSVideoSurface() { + if (_ddSurface) + _videoSurfaceCounter -= OSVideoSurface::freeSurface(); +} + void OSVideoSurface::loadResource(const CResourceKey &key) { _resourceKey = key; _pendingLoad = true; diff --git a/engines/titanic/support/video_surface.h b/engines/titanic/support/video_surface.h index 690669b79b..390e70bc33 100644 --- a/engines/titanic/support/video_surface.h +++ b/engines/titanic/support/video_surface.h @@ -356,6 +356,7 @@ class OSVideoSurface : public CVideoSurface { public: OSVideoSurface(CScreenManager *screenManager, DirectDrawSurface *surface); OSVideoSurface(CScreenManager *screenManager, const CResourceKey &key, bool flag = false); + ~OSVideoSurface(); /** * Load the surface with the passed resource diff --git a/engines/titanic/titanic.cpp b/engines/titanic/titanic.cpp index 29730c36c8..c6fb0a17e3 100644 --- a/engines/titanic/titanic.cpp +++ b/engines/titanic/titanic.cpp @@ -71,10 +71,10 @@ TitanicEngine::TitanicEngine(OSystem *syst, const TitanicGameDescription *gameDe TitanicEngine::~TitanicEngine() { delete _debugger; delete _events; - delete _screen; delete _window; delete _screenManager; delete _filesManager; + delete _screen; CSaveableObject::freeClassList(); } |