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) {  | 
