aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorMatthew Hoops2010-01-27 16:54:58 +0000
committerMatthew Hoops2010-01-27 16:54:58 +0000
commit12569a5f325b2cdbcf3d696329a105ef5b94fd8a (patch)
tree238d55cb88cb134aaae841ea2af36428f2bef045 /engines/sci/engine
parent1ddcd178c206889f051bc07ae7fd8d4ef9368233 (diff)
downloadscummvm-rg350-12569a5f325b2cdbcf3d696329a105ef5b94fd8a.tar.gz
scummvm-rg350-12569a5f325b2cdbcf3d696329a105ef5b94fd8a.tar.bz2
scummvm-rg350-12569a5f325b2cdbcf3d696329a105ef5b94fd8a.zip
Only reshow the cursor after playing a video if it was originally showing beforehand. This fixes the GK1 demo menu.
svn-id: r47602
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/kgraphics.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index d58809f578..543aebb857 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -1030,7 +1030,11 @@ reg_t kShowMovie(EngineState *s, int argc, reg_t *argv) {
if (argc == 1)
return NULL_REG;
- s->_gui->hideCursor();
+ // Hide the cursor if it's showing and then show it again if it was
+ // previously visible.
+ bool reshowCursor = s->_gui->isCursorVisible();
+ if (reshowCursor)
+ s->_gui->hideCursor();
// The Windows and DOS versions use different video format as well
// as a different argument set.
@@ -1072,7 +1076,8 @@ reg_t kShowMovie(EngineState *s, int argc, reg_t *argv) {
if (playedVideo)
s->_gui->syncWithFramebuffer();
- s->_gui->showCursor();
+ if (reshowCursor)
+ s->_gui->showCursor();
return s->r_acc;
}