[Scummvm-tracker] [ScummVM] #10210: TITANIC: Memory leaks in AVISurface
Colin Snover
trac at scummvm.org
Wed Sep 20 17:51:31 CEST 2017
#10210: TITANIC: Memory leaks in AVISurface
-------------------------------+-----------------------------
Reporter: csnover | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: Titanic
Resolution: | Keywords:
Game: Starship Titanic |
-------------------------------+-----------------------------
Comment (by csnover):
The number of leaks related to AVISurface is substantially reduced, it
looks like there are still 3 or 4 more that I can identify without
trouble:
{{{
1 libsystem_malloc.dylib calloc
2 scummvm Graphics::Surface::create(unsigned short, unsigned short,
Graphics::PixelFormat const&) scummvm/graphics/surface.cpp:74
3 scummvm
Image::BitmapRawDecoder::decodeFrame(Common::SeekableReadStream&)
scummvm/image/codecs/bmp_raw.cpp:46
4 scummvm
Video::AVIDecoder::AVIVideoTrack::decodeFrame(Common::SeekableReadStream*)
scummvm/video/avi_decoder.cpp:917
5 scummvm
Video::AVIDecoder::handleNextPacket(Video::AVIDecoder::TrackStatus&)
scummvm/video/avi_decoder.cpp:571
6 scummvm Video::AVIDecoder::readNextPacket()
scummvm/video/avi_decoder.cpp:478
7 scummvm Video::VideoDecoder::decodeNextFrame()
scummvm/video/video_decoder.cpp:188
8 scummvm Titanic::AVISurface::renderFrame()
scummvm/engines/titanic/support/avi_surface.cpp:391
9 scummvm Titanic::AVISurface::seekToFrame(unsigned int)
scummvm/engines/titanic/support/avi_surface.cpp:181
10 scummvm Titanic::AVISurface::setFrame(int)
scummvm/engines/titanic/support/avi_surface.cpp:361
11 scummvm Titanic::OSMovie::setFrame(unsigned int)
scummvm/engines/titanic/support/movie.cpp:153
12 scummvm Titanic::CMouseCursor::loadCursorImages()
scummvm/engines/titanic/support/mouse_cursor.cpp:85
13 scummvm Titanic::CMouseCursor::CMouseCursor(Titanic::CScreenManager*)
scummvm/engines/titanic/support/mouse_cursor.cpp:63
14 scummvm Titanic::OSScreenManager::loadCursors()
scummvm/engines/titanic/support/screen_manager.cpp:350
15 scummvm Titanic::OSScreenManager::setMode(int, int, int, unsigned
int, bool) scummvm/engines/titanic/support/screen_manager.cpp:122
16 scummvm Titanic::CMainGameWindow::applicationStarting()
scummvm/engines/titanic/main_game_window.cpp:60
17 scummvm Titanic::TitanicEngine::initialize()
scummvm/engines/titanic/titanic.cpp:127
18 scummvm Titanic::TitanicEngine::run()
scummvm/engines/titanic/titanic.cpp:154
}}}
{{{
2 libc++abi.dylib operator new(unsigned long)
3 scummvm
Image::BitmapRawDecoder::decodeFrame(Common::SeekableReadStream&)
scummvm/image/codecs/bmp_raw.cpp:45
4 scummvm
Video::AVIDecoder::AVIVideoTrack::decodeFrame(Common::SeekableReadStream*)
scummvm/video/avi_decoder.cpp:917
5 scummvm
Video::AVIDecoder::handleNextPacket(Video::AVIDecoder::TrackStatus&)
scummvm/video/avi_decoder.cpp:571
6 scummvm Video::AVIDecoder::readNextPacket()
scummvm/video/avi_decoder.cpp:478
7 scummvm Video::VideoDecoder::decodeNextFrame()
scummvm/video/video_decoder.cpp:188
8 scummvm Titanic::AVISurface::renderFrame()
scummvm/engines/titanic/support/avi_surface.cpp:391
9 scummvm Titanic::AVISurface::seekToFrame(unsigned int)
scummvm/engines/titanic/support/avi_surface.cpp:181
10 scummvm Titanic::AVISurface::setFrame(int)
scummvm/engines/titanic/support/avi_surface.cpp:361
11 scummvm Titanic::OSMovie::setFrame(unsigned int)
scummvm/engines/titanic/support/movie.cpp:153
12 scummvm Titanic::CMouseCursor::loadCursorImages()
scummvm/engines/titanic/support/mouse_cursor.cpp:85
13 scummvm Titanic::CMouseCursor::CMouseCursor(Titanic::CScreenManager*)
scummvm/engines/titanic/support/mouse_cursor.cpp:63
14 scummvm Titanic::OSScreenManager::loadCursors()
scummvm/engines/titanic/support/screen_manager.cpp:350
15 scummvm Titanic::OSScreenManager::setMode(int, int, int, unsigned
int, bool) scummvm/engines/titanic/support/screen_manager.cpp:122
16 scummvm Titanic::CMainGameWindow::applicationStarting()
scummvm/engines/titanic/main_game_window.cpp:60
17 scummvm Titanic::TitanicEngine::initialize()
scummvm/engines/titanic/titanic.cpp:127
18 scummvm Titanic::TitanicEngine::run()
scummvm/engines/titanic/titanic.cpp:154
}}}
{{{
2 libc++abi.dylib operator new(unsigned long)
3 scummvm
Image::BitmapRawDecoder::decodeFrame(Common::SeekableReadStream&)
scummvm/image/codecs/bmp_raw.cpp:45
4 scummvm
Video::AVIDecoder::AVIVideoTrack::decodeFrame(Common::SeekableReadStream*)
scummvm/video/avi_decoder.cpp:917
5 scummvm
Video::AVIDecoder::handleNextPacket(Video::AVIDecoder::TrackStatus&)
scummvm/video/avi_decoder.cpp:571
6 scummvm Video::AVIDecoder::readNextPacket()
scummvm/video/avi_decoder.cpp:478
7 scummvm Video::VideoDecoder::decodeNextFrame()
scummvm/video/video_decoder.cpp:188
8 scummvm Titanic::AVISurface::renderFrame()
scummvm/engines/titanic/support/avi_surface.cpp:391
9 scummvm Titanic::OSMovie::setFrame(unsigned int)
scummvm/engines/titanic/support/movie.cpp:153
10 scummvm Titanic::OSVideoSurface::loadMovie(Titanic::CResourceKey
const&, bool) scummvm/engines/titanic/support/video_surface.cpp:367
11 scummvm Titanic::OSVideoSurface::load()
scummvm/engines/titanic/support/video_surface.cpp:479
12 scummvm Titanic::OSVideoSurface::loadIfReady()
scummvm/engines/titanic/support/video_surface.cpp:608
13 scummvm Titanic::OSVideoSurface::setMovieFrame(unsigned int)
scummvm/engines/titanic/support/video_surface.cpp:558
14 scummvm Titanic::CGameObject::loadFrame(int)
scummvm/engines/titanic/core/game_object.cpp:436
15 scummvm
Titanic::CServiceElevatorWindow::EnterViewMsg(Titanic::CEnterViewMsg*)
scummvm/engines/titanic/game/service_elevator_window.cpp:112
16 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
scummvm/engines/titanic/messages/messages.cpp:107
17 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
Titanic::ClassDef const*, int)
scummvm/engines/titanic/messages/messages.cpp:60
18 scummvm Titanic::CViewItem::enterView(Titanic::CViewItem*)
scummvm/engines/titanic/core/view_item.cpp:143
19 scummvm
Titanic::CViewItem::MouseButtonDownMsg(Titanic::CMouseButtonDownMsg*)
scummvm/engines/titanic/core/view_item.cpp:199
20 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
scummvm/engines/titanic/messages/messages.cpp:107
21 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
Titanic::ClassDef const*, int)
scummvm/engines/titanic/messages/messages.cpp:60
22 scummvm Titanic::CInputHandler::dispatchMessage(Titanic::CMessage*)
scummvm/engines/titanic/input_handler.cpp:156
23 scummvm Titanic::CInputHandler::processMessage(Titanic::CMessage*)
scummvm/engines/titanic/input_handler.cpp:84
24 scummvm Titanic::CInputHandler::handleMessage(Titanic::CMessage&,
bool) scummvm/engines/titanic/input_handler.cpp:72
25 scummvm Titanic::CInputTranslator::leftButtonDown(int, Common::Point
const&) scummvm/engines/titanic/input_translator.cpp:55
26 scummvm Titanic::CMainGameWindow::leftButtonDown(Common::Point
const&) scummvm/engines/titanic/main_game_window.cpp:294
27 scummvm Titanic::Events::pollEvents()
scummvm/engines/titanic/events.cpp:61
28 scummvm Titanic::Events::pollEventsAndWait()
scummvm/engines/titanic/events.cpp:112
29 scummvm Titanic::TitanicEngine::run()
scummvm/engines/titanic/titanic.cpp:157
}}}
{{{
2 libc++abi.dylib operator new(unsigned long)
3 scummvm
Titanic::CMovieRangeInfo::getMovieEnd(Titanic::CMovieEventList&)
scummvm/engines/titanic/support/movie_range_info.cpp:80
4 scummvm Titanic::AVISurface::handleEvents(Titanic::CMovieEventList&)
scummvm/engines/titanic/support/avi_surface.cpp:203
5 scummvm Titanic::OSMovie::handleEvents(Titanic::CMovieEventList&)
scummvm/engines/titanic/support/movie.cpp:167
6 scummvm Titanic::CGameManager::updateMovies()
scummvm/engines/titanic/game_manager.cpp:235
7 scummvm Titanic::CGameManager::update()
scummvm/engines/titanic/game_manager.cpp:170
8 scummvm Titanic::CMainGameWindow::onIdle()
scummvm/engines/titanic/main_game_window.cpp:264
9 scummvm Titanic::Events::checkForNextFrameCounter()
scummvm/engines/titanic/events.cpp:142
10 scummvm Titanic::Events::pollEvents()
scummvm/engines/titanic/events.cpp:44
11 scummvm Titanic::Events::pollEventsAndWait()
scummvm/engines/titanic/events.cpp:112
12 scummvm Titanic::TitanicEngine::run()
scummvm/engines/titanic/titanic.cpp:157
}}}
--
Ticket URL: <https://bugs.scummvm.org/ticket/10210#comment:2>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list