Changeset 297:7d431a32f71e

Show
Ignore:
Timestamp:
08/22/08 21:55:06 (3 months ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

Fix: IME ole call and string processing.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/widgets/IME.d

    r246 r297  
    194194                if (hr is OS.S_OK) { 
    195195                    void* pDispInfo; 
    196                     TF_DISPLAYATTRIBUTE* tempPda
     196                    TF_DISPLAYATTRIBUTE* tempPda = new TF_DISPLAYATTRIBUTE()
    197197                    /* pEnum.Next () */ 
    198198                    while ((hr = OS.VtblCall (4, pEnum, 1, cast(int) &pDispInfo, 0 )) is OS.S_OK) { 
    199199                        /* pDispInfo.GetAttributeInfo(); */ 
    200                         OS.VtblCall (5, pDispInfo, cast(int)&tempPda); 
     200                        OS.VtblCall (5, pDispInfo, cast(int)cast(void*)tempPda); 
    201201                        /* pDispInfo.Release () */ 
    202202                        OS.VtblCall (2, pDispInfo); 
     
    406406                    display.lastKey = 0; 
    407407                    display.lastVirtual = display.lastNull = display.lastDead = false; 
    408                     length_ = chars.length
     408                    length_ = chars.codePointCount
    409409                    for (int i = 0; i < length_; i++) { 
    410                         char c = chars.charAt (i); 
     410                        dchar c = chars[ i .. $ ].firstCodePoint(); 
    411411                        display.lastAscii = c; 
    412412                        event = new Event ();