aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2006-11-08 10:06:42 +0000
committerEugene Sandulenko2006-11-08 10:06:42 +0000
commit3be9c44dc40d5fa8af3bed4c64aa1a717fd44e52 (patch)
tree75f7ef6ec3ff319ba9e851610afb30544ca03372
parentefd5e8bfb6245925552e909c2d7a409098bf4a29 (diff)
downloadscummvm-rg350-3be9c44dc40d5fa8af3bed4c64aa1a717fd44e52.tar.gz
scummvm-rg350-3be9c44dc40d5fa8af3bed4c64aa1a717fd44e52.tar.bz2
scummvm-rg350-3be9c44dc40d5fa8af3bed4c64aa1a717fd44e52.zip
Fix bug #1590596: "HE: When 3x graphics are choosen, F5 crashes game"
svn-id: r24656
-rw-r--r--engines/scumm/scumm.cpp10
-rw-r--r--gui/newgui.h3
2 files changed, 12 insertions, 1 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 7b4331bca6..ba6e7ab50a 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1023,6 +1023,16 @@ int ScummEngine::init() {
initCommonGFX(defaultTo1XScaler);
_system->endGFXTransaction();
+ // It may happen that we have 3x scaler in launcher (960xY) and then 640x480
+ // game will be forced to 1x. At this stage GUI will not be aware of
+ // resolution change, so widgets will be off screen. This forces it to
+ // recompute
+ //
+ // Fixes bug #1590596: "HE: When 3x graphics are choosen, F5 crashes game"
+ if (defaultTo1XScaler) {
+ g_gui.screenChange();
+ }
+
setupScumm();
readIndexFile();
diff --git a/gui/newgui.h b/gui/newgui.h
index d1e0150d53..4ee91c26c6 100644
--- a/gui/newgui.h
+++ b/gui/newgui.h
@@ -83,6 +83,8 @@ public:
void clearDragWidget();
+ void screenChange();
+
protected:
OSystem *_system;
@@ -124,7 +126,6 @@ protected:
void openDialog(Dialog *dialog);
void closeTopDialog();
- void screenChange();
void redraw();
void loop();