diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp index dd25d684468..1c09c49b91d 100644 --- a/engines/director/cast.cpp +++ b/engines/director/cast.cpp @@ -22,6 +22,7 @@ #include "common/substream.h" #include "graphics/surface.h" +#include "graphics/macgui/maceditabletext.h" #include "image/image_decoder.h" #include "director/director.h" @@ -292,6 +293,11 @@ void TextCast::setText(const char *text) { _ptext = _ftext = text; _cachedMacText->forceDirty(); + + if (_widget) { + ((Graphics::MacEditableText *)_widget)->clearText(); + ((Graphics::MacEditableText *)_widget)->appendTextDefault(_ftext); + } } ShapeCast::ShapeCast(Common::ReadStreamEndian &stream, uint16 version) { diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index 6b14ea94b40..e240e16e20f 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -886,10 +886,10 @@ void Frame::renderText(Graphics::ManagedSurface &surface, uint16 spriteId, Commo return; } - if (sprite->_editable && 0) { + if (sprite->_editable) { if (!textCast->_widget) { - textCast->_widget = new Graphics::MacEditableText(score->_window, x, y, width, height, g_director->_wm, "", new Graphics::MacFont(), sprite->_foreColor, sprite->_backColor); - warning("Created MacEditableText"); + textCast->_widget = new Graphics::MacEditableText(score->_window, x, y, width, height, g_director->_wm, textCast->_ftext, new Graphics::MacFont(), sprite->_foreColor, sprite->_backColor); + warning("Created MacEditableText with '%s'", textCast->_ftext.c_str()); } textCast->_widget->draw();