summaryrefslogtreecommitdiff
path: root/src/win32.cpp
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2007-03-10 00:27:20 +0000
committerDarkvater <darkvater@openttd.org>2007-03-10 00:27:20 +0000
commit3702f987c820cfad0c3075589bb504cccd06e431 (patch)
tree6cd3543eaa1196dc012d846c600d856f6787890b /src/win32.cpp
parent3b3c7554b75fcd31ebefc338ad197594b58e45cf (diff)
downloadopenttd-3702f987c820cfad0c3075589bb504cccd06e431.tar.xz
(svn r9084) -Fix: [win9x] Clipboard paste for Windows95 (doesn't have CF_UNICODETEXT) correctly converts the input to the current locale.
Diffstat (limited to 'src/win32.cpp')
-rw-r--r--src/win32.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/win32.cpp b/src/win32.cpp
index 33e5fd964..232fdc6ad 100644
--- a/src/win32.cpp
+++ b/src/win32.cpp
@@ -993,25 +993,26 @@ bool InsertTextBufferClipboard(Textbuf *tb)
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;
}