diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/kmenu.cpp | 11 |
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; } |