[IMM32] NotifyIME: Improve debug trace (#8005)

JIRA issue: CORE-19455
- Add some traces for NotifyIME calls.
- Improve Imm32MakeIMENotify trace.
- Make some parameter types of
  Imm32MakeIMENotify function
  DWORD's.
- Fix and improve ERR_PRINTF macro.
This commit is contained in:
Katayama Hirofumi MZ 2025-05-20 07:30:46 +09:00 committed by GitHub
parent eff61af6df
commit 7ce90a0399
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 38 additions and 12 deletions

View file

@ -593,7 +593,11 @@ BOOL WINAPI ImmNotifyIME(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD_PTR dwV
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
return FALSE;
TRACE("NotifyIME(%p, %lu, %lu, %p)\n", hIMC, dwAction, dwIndex, dwValue);
ret = pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue);
if (!ret)
WARN("NotifyIME(%p, %lu, %lu, %p) failed\n", hIMC, dwAction, dwIndex, dwValue);
ImmUnlockImeDpi(pImeDpi);
return ret;
}

View file

@ -46,11 +46,8 @@
#include <wine/debug.h>
/* #define UNEXPECTED() (ASSERT(FALSE), TRUE) */
#define UNEXPECTED() TRUE
#define ERR_PRINTF(fmt, ...) (__WINE_IS_DEBUG_ON(_ERR, __wine_dbch___default) ? \
(wine_dbg_printf(fmt, ##__VA_ARGS__), UNEXPECTED()) : UNEXPECTED())
(wine_dbg_printf("err:(%s:%d) " fmt, __RELFILE__, __LINE__, ##__VA_ARGS__), TRUE) : TRUE)
/* Unexpected Condition Checkers */
#if DBG
@ -137,9 +134,15 @@ DWORD APIENTRY
CandidateListAnsiToWide(const CANDIDATELIST *pAnsiCL, LPCANDIDATELIST pWideCL, DWORD dwBufLen,
UINT uCodePage);
BOOL APIENTRY
Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWORD_PTR dwValue,
DWORD_PTR dwCommand, DWORD_PTR dwData);
BOOL
Imm32MakeIMENotify(
_In_ HIMC hIMC,
_In_ HWND hwnd,
_In_ DWORD dwAction,
_In_ DWORD dwIndex,
_Inout_opt_ DWORD_PTR dwValue,
_In_ DWORD dwCommand,
_Inout_opt_ DWORD_PTR dwData);
DWORD APIENTRY Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList);

View file

@ -422,10 +422,15 @@ LPVOID ImmLocalAlloc(_In_ DWORD dwFlags, _In_ DWORD dwBytes)
return HeapAlloc(ghImmHeap, dwFlags, dwBytes);
}
// Win: MakeIMENotify
BOOL APIENTRY
Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWORD_PTR dwValue,
DWORD_PTR dwCommand, DWORD_PTR dwData)
BOOL
Imm32MakeIMENotify(
_In_ HIMC hIMC,
_In_ HWND hwnd,
_In_ DWORD dwAction,
_In_ DWORD dwIndex,
_Inout_opt_ DWORD_PTR dwValue,
_In_ DWORD dwCommand,
_Inout_opt_ DWORD_PTR dwData)
{
DWORD dwThreadId;
HKL hKL;
@ -442,11 +447,25 @@ Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWOR
if (pImeDpi)
{
/* do notify */
pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue);
TRACE("NotifyIME(%p, %lu, %lu, %p)\n", hIMC, dwAction, dwIndex, dwValue);
if (!pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue))
WARN("NotifyIME(%p, %lu, %lu, %p) failed\n", hIMC, dwAction, dwIndex, dwValue);
ImmUnlockImeDpi(pImeDpi); /* unlock */
}
else
{
WARN("pImeDpi was NULL\n");
}
}
else
{
WARN("dwThreadId was zero\n");
}
}
else
{
WARN("dwAction was zero\n");
}
if (hwnd && dwCommand)