Merging Windows hosted mode crash fix (r1991, r1995) into 1.4 release branch. Review by: jgw (desk check) git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.4@2014 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/windows/src/com/google/gwt/dev/shell/ie/SwtOleGlue.java b/dev/windows/src/com/google/gwt/dev/shell/ie/SwtOleGlue.java index 1ed7552..016431b 100644 --- a/dev/windows/src/com/google/gwt/dev/shell/ie/SwtOleGlue.java +++ b/dev/windows/src/com/google/gwt/dev/shell/ie/SwtOleGlue.java
@@ -85,20 +85,10 @@ * Extracts a string from an (OLECHAR*) type. */ public static String extractStringFromOleCharPtr(int pOleChar) { - // TODO: double-check the encoding (is it UTF-16?, what) - int size = COM.SysStringByteLen(pOleChar); - if (size > 8192) { - size = 8192; - } - char[] buffer = new char[(size + 1) / 2]; - COM.MoveMemory(buffer, pOleChar, size); - - String s = new String(buffer); - if (s.indexOf('\0') != -1) { - return s.substring(0, s.indexOf('\0')); - } else { - return s; - } + int length = OS.wcslen(pOleChar); + char[] buffer = new char[length]; + OS.MoveMemory(buffer, pOleChar, length * 2); + return String.valueOf(buffer); } /**