ByeongSik Jeon : imm32: Implement ImmSetConversionStatus.

Alexandre Julliard julliard at winehq.org
Thu Apr 17 07:38:21 CDT 2008


Module: wine
Branch: master
Commit: 511753196f4ec733dd40196a209baf3cb40193ab
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=511753196f4ec733dd40196a209baf3cb40193ab

Author: ByeongSik Jeon <bsjeon at hanmail.net>
Date:   Wed Apr 16 19:01:29 2008 +0900

imm32: Implement ImmSetConversionStatus.

---

 dlls/imm32/imm.c |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index c03d6fd..4eac53a 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -1761,16 +1761,27 @@ BOOL WINAPI ImmSetCompositionWindow(
 BOOL WINAPI ImmSetConversionStatus(
   HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
 {
-  static int shown = 0;
+    InputContextData *data = (InputContextData*)hIMC;
 
-  if (!shown) {
-      FIXME("(%p, %d, %d): stub\n",
-          hIMC, fdwConversion, fdwSentence
-      );
-      shown = 1;
-  }
-  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-  return FALSE;
+    TRACE("%p %d %d\n", hIMC, fdwConversion, fdwSentence);
+
+    if (!data)
+        return FALSE;
+
+    if ( fdwConversion != data->IMC.fdwConversion )
+    {
+        data->IMC.fdwConversion = fdwConversion;
+        ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETCONVERSIONMODE);
+        ImmInternalSendIMENotify(data, IMN_SETCONVERSIONMODE, 0);
+    }
+    if ( fdwSentence != data->IMC.fdwSentence )
+    {
+        data->IMC.fdwSentence = fdwSentence;
+        ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETSENTENCEMODE);
+        ImmInternalSendIMENotify(data, IMN_SETSENTENCEMODE, 0);
+    }
+
+    return TRUE;
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list