diff --git a/dlls/kernel/format_msg.c b/dlls/kernel/format_msg.c index 42ab1095b75b90743e5d30531fd3ff661c104dbc..560ee374b116639b0b46d55d4b654da6d0390937 100644 --- a/dlls/kernel/format_msg.c +++ b/dlls/kernel/format_msg.c @@ -163,12 +163,14 @@ DWORD WINAPI FormatMessageA( if (dwFlags & FORMAT_MESSAGE_FROM_HMODULE) { - bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); + if (!hmodule) + hmodule = GetModuleHandleW(NULL); + bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); } if ((dwFlags & FORMAT_MESSAGE_FROM_SYSTEM) && (!bufsize)) { - hmodule = GetModuleHandleA("kernel32"); - bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); + hmodule = GetModuleHandleA("kernel32"); + bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); } if (!bufsize) { @@ -388,12 +390,14 @@ DWORD WINAPI FormatMessageW( if (dwFlags & FORMAT_MESSAGE_FROM_HMODULE) { - bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); + if (!hmodule) + hmodule = GetModuleHandleW(NULL); + bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); } if ((dwFlags & FORMAT_MESSAGE_FROM_SYSTEM) && (!bufsize)) { - hmodule = GetModuleHandleA("kernel32"); - bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); + hmodule = GetModuleHandleA("kernel32"); + bufsize=load_messageA(hmodule,dwMessageId,dwLanguageId,NULL,100); } if (!bufsize) {