From 04a8ff06a21959f3048de5b0d09bbc45b5114f3c Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Mon, 4 Oct 2010 09:23:06 +0000 Subject: SCI: fixing crash in mag cursor code for pharkas svn-id: r53014 --- engines/sci/graphics/cursor.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'engines/sci') diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp index 86e06dc06b..0fa490cfa8 100644 --- a/engines/sci/graphics/cursor.cpp +++ b/engines/sci/graphics/cursor.cpp @@ -411,6 +411,8 @@ void GfxCursor::kernelClearZoomZone() { _zoomColor = 0; _zoomMultiplier = 0; _zoomZoneActive = false; + delete _zoomCursorView; + delete _zoomPicView; } void GfxCursor::kernelSetZoomZone(byte multiplier, Common::Rect zone, GuiResourceId viewNum, int loopNum, int celNum, GuiResourceId picNum, byte zoomColor) { @@ -421,20 +423,10 @@ void GfxCursor::kernelSetZoomZone(byte multiplier, Common::Rect zone, GuiResourc _zoomMultiplier = multiplier; - if (_cachedCursors.size() >= MAX_CACHED_CURSORS) - purgeCache(); - - if (!_cachedCursors.contains(viewNum)) - _cachedCursors[viewNum] = new GfxView(_resMan, _screen, _palette, viewNum); - if (!_cachedCursors.contains(picNum)) - _cachedCursors[picNum] = new GfxView(_resMan, _screen, _palette, picNum); - - _zoomCursorView = _cachedCursors[viewNum]; + _zoomCursorView = new GfxView(_resMan, _screen, _palette, viewNum); _zoomCursorLoop = (byte)loopNum; _zoomCursorCel = (byte)celNum; - _zoomPicView = _cachedCursors[picNum]; - - kernelSetView(viewNum, loopNum, celNum, NULL); + _zoomPicView = new GfxView(_resMan, _screen, _palette, picNum); _zoomZone = zone; kernelSetMoveZone(_zoomZone); -- cgit v1.2.3