<div>From: Tomasz RomaƄski <<a href="mailto:r00t0@poczta.o2.pl">r00t0@poczta.o2.pl</a>><br></div><div>Subject: ImmReleaseContext only return true<br></div><div>Date: Fri,  6 Oct 2017 17:53:47 +0200<br></div><div>Message-Id: <<a href="mailto:20171006155347.3592-1-r00t0@o2.pl">20171006155347.3592-1-r00t0@o2.pl</a>><br></div><div><br></div><div>diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c<br></div><div>index 3f8ad1868c..07d8b8f56d 100644<br></div><div>--- a/dlls/imm32/imm.c<br></div><div>+++ b/dlls/imm32/imm.c<br></div><div>@@ -1733,34 +1733,34 @@ HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)<br></div><div>UINT WINAPI ImmGetDescriptionA(<br></div><div>   HKL hKL, LPSTR lpszDescription, UINT uBufLen)<br></div><div>{<br></div><div>-  WCHAR *buf;<br></div><div>-  DWORD len;<br></div><div>+    WCHAR *buf;<br></div><div>+    DWORD len;<br></div><div><br></div><div>-  TRACE("%p %p %d\n", hKL, lpszDescription, uBufLen);<br></div><div>+    TRACE("%p %p %d\n", hKL, lpszDescription, uBufLen);<br></div><div><br></div><div>-  /* find out how many characters in the unicode buffer */<br></div><div>-  len = ImmGetDescriptionW( hKL, NULL, 0 );<br></div><div>-  if (!len)<br></div><div>-    return 0;<br></div><div>+    /* find out how many characters in the unicode buffer */<br></div><div>+    len = ImmGetDescriptionW( hKL, NULL, 0 );<br></div><div>+    if (!len)<br></div><div>+       return 0;<br></div><div><br></div><div>-  /* allocate a buffer of that size */<br></div><div>-  buf = HeapAlloc( GetProcessHeap(), 0, (len + 1) * sizeof (WCHAR) );<br></div><div>-  if( !buf )<br></div><div>-  return 0;<br></div><div>+    /* allocate a buffer of that size */<br></div><div>+    buf = HeapAlloc( GetProcessHeap(), 0, (len + 1) * sizeof (WCHAR) );<br></div><div>+    if( !buf )<br></div><div>+        return 0;<br></div><div><br></div><div>-  /* fetch the unicode buffer */<br></div><div>-  len = ImmGetDescriptionW( hKL, buf, len + 1 );<br></div><div>+    /* fetch the unicode buffer */<br></div><div>+    len = ImmGetDescriptionW( hKL, buf, len + 1 );<br></div><div><br></div><div>-  /* convert it back to ASCII */<br></div><div>-  len = WideCharToMultiByte( CP_ACP, 0, buf, len + 1,<br></div><div>+    /* convert it back to ASCII */<br></div><div>+    len = WideCharToMultiByte( CP_ACP, 0, buf, len + 1,<br></div><div>                              lpszDescription, uBufLen, NULL, NULL );<br></div><div><br></div><div>-  HeapFree( GetProcessHeap(), 0, buf );<br></div><div>+    HeapFree( GetProcessHeap(), 0, buf );<br></div><div><br></div><div>-  if (len == 0)<br></div><div>-    return 0;<br></div><div>+    if (len == 0)<br></div><div>+        return 0;<br></div><div><br></div><div>-  return len - 1;<br></div><div>+    return len - 1;<br></div><div>}<br></div><div><br></div><div>/***********************************************************************<br></div><div>@@ -1768,14 +1768,14 @@ UINT WINAPI ImmGetDescriptionA(<br></div><div>  */<br></div><div>UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)<br></div><div>{<br></div><div>-  static const WCHAR name[] = { 'W','i','n','e',' ','X','I','M',0 };<br></div><div>+    static const WCHAR name[] = { 'W','i','n','e',' ','X','I','M',0 };<br></div><div><br></div><div>-  FIXME("(%p, %p, %d): semi stub\n", hKL, lpszDescription, uBufLen);<br></div><div>+    FIXME("(%p, %p, %d): semi stub\n", hKL, lpszDescription, uBufLen);<br></div><div><br></div><div>-  if (!hKL) return 0;<br></div><div>-  if (!uBufLen) return lstrlenW( name );<br></div><div>-  lstrcpynW( lpszDescription, name, uBufLen );<br></div><div>-  return lstrlenW( lpszDescription );<br></div><div>+    if (!hKL) return 0;<br></div><div>+    if (!uBufLen) return lstrlenW( name );<br></div><div>+    lstrcpynW( lpszDescription, name, uBufLen );<br></div><div>+    return lstrlenW( lpszDescription );<br></div><div>}<br></div><div><br></div><div>/***********************************************************************<br></div><div>@@ -1887,8 +1887,8 @@ UINT WINAPI ImmGetIMEFileNameW(HKL hKL, LPWSTR lpszFileName, UINT uBufLen)<br></div><div>  */<br></div><div>BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)<br></div><div>{<br></div><div>-  InputContextData *data = get_imc_data(hIMC);<br></div><div>-  static int i;<br></div><div>+    InputContextData *data = get_imc_data(hIMC);<br></div><div>+    static int i;<br></div><div><br></div><div>     if (!data)<br></div><div>         return FALSE;<br></div><div>@@ -1896,7 +1896,7 @@ BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)<br></div><div>     TRACE("(%p): semi-stub\n", hIMC);<br></div><div><br></div><div>     if (!i++)<br></div><div>-      FIXME("(%p): semi-stub\n", hIMC);<br></div><div>+        FIXME("(%p): semi-stub\n", hIMC);<br></div><div><br></div><div>   return data->IMC.fOpen;<br></div><div>}<br></div><div>@@ -2007,25 +2007,25 @@ BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)<br></div><div>  */<br></div><div>UINT WINAPI ImmGetVirtualKey(HWND hWnd)<br></div><div>{<br></div><div>-  OSVERSIONINFOA version;<br></div><div>-  InputContextData *data = ImmGetContext( hWnd );<br></div><div>-  TRACE("%p\n", hWnd);<br></div><div>+    OSVERSIONINFOA version;<br></div><div>+    InputContextData *data = ImmGetContext( hWnd );<br></div><div>+    TRACE("%p\n", hWnd);<br></div><div><br></div><div>-  if ( data )<br></div><div>-      return data->lastVK;<br></div><div>+    if ( data )<br></div><div>+        return data->lastVK;<br></div><div><br></div><div>-  version.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);<br></div><div>-  GetVersionExA( &version );<br></div><div>-  switch(version.dwPlatformId)<br></div><div>-  {<br></div><div>-  case VER_PLATFORM_WIN32_WINDOWS:<br></div><div>-      return VK_PROCESSKEY;<br></div><div>-  case VER_PLATFORM_WIN32_NT:<br></div><div>-      return 0;<br></div><div>-  default:<br></div><div>-      FIXME("%d not supported\n",version.dwPlatformId);<br></div><div>-      return VK_PROCESSKEY;<br></div><div>-  }<br></div><div>+    version.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);<br></div><div>+    GetVersionExA( &version );<br></div><div>+    switch(version.dwPlatformId)<br></div><div>+    {<br></div><div>+    case VER_PLATFORM_WIN32_WINDOWS:<br></div><div>+        return VK_PROCESSKEY;<br></div><div>+    case VER_PLATFORM_WIN32_NT:<br></div><div>+        return 0;<br></div><div>+    default:<br></div><div>+        FIXME("%d not supported\n",version.dwPlatformId);<br></div><div>+        return VK_PROCESSKEY;<br></div><div>+    }<br></div><div>}<br></div><div><br></div><div>/***********************************************************************<br></div><div>@@ -2254,13 +2254,8 @@ BOOL WINAPI ImmRegisterWordW(<br></div><div>  */<br></div><div>BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)<br></div><div>{<br></div><div>-  static BOOL shown = FALSE;<br></div><div>-<br></div><div>-  if (!shown) {<br></div><div>-     FIXME("(%p, %p): stub\n", hWnd, hIMC);<br></div><div>-     shown = TRUE;<br></div><div>-  }<br></div><div>-  return TRUE;<br></div><div>+    TRACE("(%p, %p): stub\n", hWnd, hIMC);<br></div><div>+    return TRUE;<br></div><div>}<br></div><div><br></div><div>/***********************************************************************<br></div><div>@@ -2668,9 +2663,9 @@ BOOL WINAPI ImmShowSoftKeyboard(HWND hSoftWnd, int nCmdShow)<br></div><div>  */<br></div><div>BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID)<br></div><div>{<br></div><div>-  FIXME("(%p, %d): stub\n", hWnd, dwHotKeyID);<br></div><div>-  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);<br></div><div>-  return FALSE;<br></div><div>+    FIXME("(%p, %d): stub\n", hWnd, dwHotKeyID);<br></div><div>+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);<br></div><div>+    return FALSE;<br></div><div>}<br></div><div><br></div><div>/***********************************************************************<br></div>