From 2265872a8362e7d27b5eff9f5d5a3e00a0199d70 Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Thu, 15 Jun 2006 08:07:20 +0000 Subject: Delete the old cursor buffer before allocating a new one. If the theme is enabled by the time it's refreshed, replace the cursor. svn-id: r23122 --- gui/ThemeNew.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gui/ThemeNew.cpp b/gui/ThemeNew.cpp index 00545da33d..c02ff2e1d9 100644 --- a/gui/ThemeNew.cpp +++ b/gui/ThemeNew.cpp @@ -180,8 +180,11 @@ void ThemeNew::deinit() { void ThemeNew::refresh() { init(); resetupGuiRenderer(); - if (_enabled) + if (_enabled) { _system->showOverlay(); + PaletteMan.replaceCursorPalette(_cursorPal, 0, MAX_CURS_COLORS); + CursorMan.replaceCursor(_cursor, _cursorWidth, _cursorHeight, _cursorHotspotX, _cursorHotspotY, 255, _cursorTargetScale); + } } void ThemeNew::enable() { @@ -1610,6 +1613,8 @@ void ThemeNew::createCursor() { _system->colorToRGB(_colors[kColorTransparency], r, g, b); uint16 transparency = RGBToColor >(r, g, b); + delete [] _cursor; + _cursor = new byte[_cursorWidth * _cursorHeight]; assert(_cursor); memset(_cursor, 255, sizeof(byte)*_cursorWidth*_cursorHeight); -- cgit v1.2.3