aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/launcher.cpp18
-rw-r--r--gui/launcher.h4
2 files changed, 14 insertions, 8 deletions
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index f7cd658716..73f5471f03 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -444,13 +444,14 @@ LauncherDialog::LauncherDialog(GameDetector &detector)
_w = screenW;
_h = screenH;
+ _logo = 0;
#ifndef DISABLE_FANCY_THEMES
if (g_gui.evaluator()->getVar("launcher_logo.visible") == 1) {
- GraphicsWidget *logo = new GraphicsWidget(this, "launcher_logo");
+ _logo = new GraphicsWidget(this, "launcher_logo");
ThemeNew *th = (ThemeNew *)g_gui.theme();
- logo->useTransparency(true);
+ _logo->useTransparency(true);
- logo->setGfx(th->getImageSurface(th->kThemeLogo));
+ _logo->setGfx(th->getImageSurface(th->kThemeLogo));
new StaticTextWidget(this, "launcher_version", gScummVMVersionDate);
} else
@@ -766,13 +767,14 @@ void LauncherDialog::updateButtons() {
void LauncherDialog::handleScreenChanged() {
#ifndef DISABLE_FANCY_THEMES
if (g_gui.evaluator()->getVar("launcher_logo.visible") == 1) {
- GraphicsWidget *logo = new GraphicsWidget(this, "launcher_logo");
+ if (!_logo)
+ _logo = new GraphicsWidget(this, "launcher_logo");
ThemeNew *th = (ThemeNew *)g_gui.theme();
- logo->useTransparency(true);
+ _logo->useTransparency(true);
- logo->setGfx(th->getImageSurface(th->kThemeLogo));
-
- new StaticTextWidget(this, "launcher_version", gScummVMVersionDate);
+ _logo->setGfx(th->getImageSurface(th->kThemeLogo));
+ } else {
+ delete _logo;
}
#endif
Dialog::handleScreenChanged();
diff --git a/gui/launcher.h b/gui/launcher.h
index 44d4e51c50..b5320937c4 100644
--- a/gui/launcher.h
+++ b/gui/launcher.h
@@ -31,6 +31,7 @@ namespace GUI {
class BrowserDialog;
class ListWidget;
+class GraphicsWidget;
class LauncherDialog : public Dialog {
typedef Common::String String;
@@ -46,6 +47,9 @@ protected:
Widget *_startButton;
Widget *_editButton;
Widget *_removeButton;
+#ifndef DISABLE_FANCY_THEMES
+ GraphicsWidget *_logo;
+#endif
StringList _domains;
GameDetector &_detector;
BrowserDialog *_browser;