diff options
author | yinsimei | 2017-06-06 09:01:46 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-07-13 18:27:45 +0200 |
commit | 78cba75570115cf598a0c6c27a660f1ae0e985d6 (patch) | |
tree | fb7c0de9d508ef975ccefa0006fbc2c49985acfa /engines/sludge/sludge.cpp | |
parent | 839e7fb4d2d51c6abd38d1cc56a2d2cbd346d710 (diff) | |
download | scummvm-rg350-78cba75570115cf598a0c6c27a660f1ae0e985d6.tar.gz scummvm-rg350-78cba75570115cf598a0c6c27a660f1ae0e985d6.tar.bz2 scummvm-rg350-78cba75570115cf598a0c6c27a660f1ae0e985d6.zip |
SLUDGE: change pixel formats to pointers and fix seg fault
Diffstat (limited to 'engines/sludge/sludge.cpp')
-rw-r--r-- | engines/sludge/sludge.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/engines/sludge/sludge.cpp b/engines/sludge/sludge.cpp index 90bdd454ef..c4e3083466 100644 --- a/engines/sludge/sludge.cpp +++ b/engines/sludge/sludge.cpp @@ -34,12 +34,8 @@ namespace Sludge { SludgeEngine *g_sludge; -Graphics::PixelFormat SludgeEngine::getScreenPixelFormat() const { return _pixelFormat; } -Graphics::PixelFormat SludgeEngine::getOrigPixelFormat() const { - return Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); - //return _origFormat; - // TODO: get segmentation fault when returning _origFormat -} +Graphics::PixelFormat *SludgeEngine::getScreenPixelFormat() const { return _pixelFormat; } +Graphics::PixelFormat *SludgeEngine::getOrigPixelFormat() const { return _origFormat; } SludgeEngine::SludgeEngine(OSystem *syst, const SludgeGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc), _console(nullptr) { @@ -62,12 +58,20 @@ SludgeEngine::~SludgeEngine() { // Dispose resources delete _rnd; + _rnd = nullptr; // Remove debug levels DebugMan.clearAllDebugChannels(); // Dispose console delete _console; + _console = nullptr; + + // Dispose pixel formats + delete _origFormat; + _origFormat = nullptr; + delete _pixelFormat; + _pixelFormat = nullptr; } Common::Error SludgeEngine::run() { @@ -75,9 +79,9 @@ Common::Error SludgeEngine::run() { g_sludge = this; // init graphics - _origFormat = Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); - _pixelFormat = Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0); - initGraphics(640, 480, false, &_pixelFormat); + _origFormat = new Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0); + _pixelFormat = new Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0); + initGraphics(640, 480, false, _pixelFormat); // create console _console = new SludgeConsole(this); |