changeset 298:8fa53b71485d

Fix: IME unicode processing.
author Frank Benoit <benoit@tionex.de>
date Sat, 23 Aug 2008 13:03:13 +0200
parents 7d431a32f71e
children 4faf63f6948f
files dwt/widgets/IME.d
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/widgets/IME.d	Sat Aug 23 03:55:06 2008 +0200
+++ b/dwt/widgets/IME.d	Sat Aug 23 13:03:13 2008 +0200
@@ -405,8 +405,8 @@
                     Display display = this.display;
                     display.lastKey = 0;
                     display.lastVirtual = display.lastNull = display.lastDead = false;
-                    length_ = chars.codePointCount;
-                    for (int i = 0; i < length_; i++) {
+                    length_ = chars.length;
+                    for (int i = 0; i < length_; i+=chars.getRelativeCodePointOffset(i,1)) {
                         dchar c = chars[ i .. $ ].firstCodePoint();
                         display.lastAscii = c;
                         event = new Event ();
@@ -499,6 +499,7 @@
                                     default:
                                 }
                             }
+                            delete attr;
                         }
                     }
                 }