# HG changeset patch # User Darkvater # Date 1173486440 0 # Node ID 2fce875cc53bf57f60b46e8e978500e320637e0c # Parent f7b2ffd75b35d5f6eb14e00c2ae9bb6f0de1b06f (svn r9084) -Fix: [win9x] Clipboard paste for Windows95 (doesn't have CF_UNICODETEXT) correctly converts the input to the current locale. diff -r f7b2ffd75b35 -r 2fce875cc53b src/win32.cpp --- a/src/win32.cpp Sat Mar 10 00:26:19 2007 +0000 +++ b/src/win32.cpp Sat Mar 10 00:27:20 2007 +0000 @@ -993,25 +993,26 @@ uint16 width, length; if (IsClipboardFormatAvailable(CF_UNICODETEXT)) { - const char *ret; - OpenClipboard(NULL); cbuf = GetClipboardData(CF_UNICODETEXT); ptr = (const char*)GlobalLock(cbuf); - ret = convert_from_fs((wchar_t*)ptr, utf8_buf, lengthof(utf8_buf)); + const char *ret = convert_from_fs((wchar_t*)ptr, utf8_buf, lengthof(utf8_buf)); GlobalUnlock(cbuf); CloseClipboard(); if (*ret == '\0') return false; +#if !defined(UNICODE) } else if (IsClipboardFormatAvailable(CF_TEXT)) { OpenClipboard(NULL); cbuf = GetClipboardData(CF_TEXT); ptr = (const char*)GlobalLock(cbuf); - ttd_strlcpy(utf8_buf, ptr, lengthof(utf8_buf)); + ttd_strlcpy(utf8_buf, FS2OTTD(ptr), lengthof(utf8_buf)); + GlobalUnlock(cbuf); CloseClipboard(); +#endif /* UNICODE */ } else { return false; }