diff options
-rw-r--r-- | backends/platform/sdl/sdl.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index 98b1feba6d..c4e376fe54 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -396,7 +396,14 @@ Common::WriteStream *OSystem_SDL::createConfigWriteStream() { } void OSystem_SDL::setWindowCaption(const char *caption) { - SDL_WM_SetCaption(caption, caption); + Common::String cap(caption); + + // Filter out any non-ASCII characters, replacing them by question marks. + // At some point, we may wish to allow LATIN 1 or UTF-8. + for (uint i = 0; i < cap.size(); ++i) + if ((byte)cap[i] > 0x7F) + cap.setChar('?', i); + SDL_WM_SetCaption(cap.c_str(), cap.c_str()); } bool OSystem_SDL::hasFeature(Feature f) { |