aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/kmenu.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/engines/sci/engine/kmenu.cpp b/engines/sci/engine/kmenu.cpp
index 046b2f2f89..7e0e2da2c4 100644
--- a/engines/sci/engine/kmenu.cpp
+++ b/engines/sci/engine/kmenu.cpp
@@ -67,14 +67,17 @@ reg_t kGetMenu(EngineState *s, int argc, reg_t *argv) {
reg_t kDrawStatus(EngineState *s, int argc, reg_t *argv) {
reg_t textReference = argv[0];
- Common::String text;
+ Common::String textCommon;
+ const char *text = NULL;
int16 colorPen = (argc > 1) ? argv[1].toSint16() : 0; // old code was: s->status_bar_foreground;
int16 colorBack = (argc > 2) ? argv[2].toSint16() : 255; // s->status_bar_background;
- if (!textReference.isNull())
- text = s->_segMan->getString(textReference);
+ if (!textReference.isNull()) {
+ textCommon = s->strSplit(s->_segMan->getString(textReference).c_str(), NULL);
+ text = textCommon.c_str();
+ }
- s->gui->drawStatus(s->strSplit(text.c_str(), NULL).c_str(), colorPen, colorBack);
+ s->gui->drawStatus(text, colorPen, colorBack);
return s->r_acc;
}