Skip to content

Commit 7ce90a0

Browse files
authored
[IMM32] NotifyIME: Improve debug trace (reactos#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.
1 parent eff61af commit 7ce90a0

File tree

3 files changed

+38
-12
lines changed

3 files changed

+38
-12
lines changed

dll/win32/imm32/ime.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,11 @@ BOOL WINAPI ImmNotifyIME(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD_PTR dwV
593593
if (IS_NULL_UNEXPECTEDLY(pImeDpi))
594594
return FALSE;
595595

596+
TRACE("NotifyIME(%p, %lu, %lu, %p)\n", hIMC, dwAction, dwIndex, dwValue);
596597
ret = pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue);
598+
if (!ret)
599+
WARN("NotifyIME(%p, %lu, %lu, %p) failed\n", hIMC, dwAction, dwIndex, dwValue);
600+
597601
ImmUnlockImeDpi(pImeDpi);
598602
return ret;
599603
}

dll/win32/imm32/precomp.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,8 @@
4646

4747
#include <wine/debug.h>
4848

49-
/* #define UNEXPECTED() (ASSERT(FALSE), TRUE) */
50-
#define UNEXPECTED() TRUE
51-
5249
#define ERR_PRINTF(fmt, ...) (__WINE_IS_DEBUG_ON(_ERR, __wine_dbch___default) ? \
53-
(wine_dbg_printf(fmt, ##__VA_ARGS__), UNEXPECTED()) : UNEXPECTED())
50+
(wine_dbg_printf("err:(%s:%d) " fmt, __RELFILE__, __LINE__, ##__VA_ARGS__), TRUE) : TRUE)
5451

5552
/* Unexpected Condition Checkers */
5653
#if DBG
@@ -137,9 +134,15 @@ DWORD APIENTRY
137134
CandidateListAnsiToWide(const CANDIDATELIST *pAnsiCL, LPCANDIDATELIST pWideCL, DWORD dwBufLen,
138135
UINT uCodePage);
139136

140-
BOOL APIENTRY
141-
Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWORD_PTR dwValue,
142-
DWORD_PTR dwCommand, DWORD_PTR dwData);
137+
BOOL
138+
Imm32MakeIMENotify(
139+
_In_ HIMC hIMC,
140+
_In_ HWND hwnd,
141+
_In_ DWORD dwAction,
142+
_In_ DWORD dwIndex,
143+
_Inout_opt_ DWORD_PTR dwValue,
144+
_In_ DWORD dwCommand,
145+
_Inout_opt_ DWORD_PTR dwData);
143146

144147
DWORD APIENTRY Imm32BuildHimcList(DWORD dwThreadId, HIMC **pphList);
145148

dll/win32/imm32/utils.c

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -422,10 +422,15 @@ LPVOID ImmLocalAlloc(_In_ DWORD dwFlags, _In_ DWORD dwBytes)
422422
return HeapAlloc(ghImmHeap, dwFlags, dwBytes);
423423
}
424424

425-
// Win: MakeIMENotify
426-
BOOL APIENTRY
427-
Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWORD_PTR dwValue,
428-
DWORD_PTR dwCommand, DWORD_PTR dwData)
425+
BOOL
426+
Imm32MakeIMENotify(
427+
_In_ HIMC hIMC,
428+
_In_ HWND hwnd,
429+
_In_ DWORD dwAction,
430+
_In_ DWORD dwIndex,
431+
_Inout_opt_ DWORD_PTR dwValue,
432+
_In_ DWORD dwCommand,
433+
_Inout_opt_ DWORD_PTR dwData)
429434
{
430435
DWORD dwThreadId;
431436
HKL hKL;
@@ -442,11 +447,25 @@ Imm32MakeIMENotify(HIMC hIMC, HWND hwnd, DWORD dwAction, DWORD_PTR dwIndex, DWOR
442447
if (pImeDpi)
443448
{
444449
/* do notify */
445-
pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue);
450+
TRACE("NotifyIME(%p, %lu, %lu, %p)\n", hIMC, dwAction, dwIndex, dwValue);
451+
if (!pImeDpi->NotifyIME(hIMC, dwAction, dwIndex, dwValue))
452+
WARN("NotifyIME(%p, %lu, %lu, %p) failed\n", hIMC, dwAction, dwIndex, dwValue);
446453

447454
ImmUnlockImeDpi(pImeDpi); /* unlock */
448455
}
456+
else
457+
{
458+
WARN("pImeDpi was NULL\n");
459+
}
449460
}
461+
else
462+
{
463+
WARN("dwThreadId was zero\n");
464+
}
465+
}
466+
else
467+
{
468+
WARN("dwAction was zero\n");
450469
}
451470

452471
if (hwnd && dwCommand)

0 commit comments

Comments
 (0)