Module: wine Branch: master Commit: bd17022c90466cf06392e9ffac905b8b0b7e2cd7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bd17022c90466cf06392e9ffac...
Author: Michael Müller michael@fds-team.de Date: Thu Mar 31 06:04:14 2016 +0200
kernel32: Set ERROR_DLL_NOT_FOUND as error code in load_library for Win 9x compatibility.
Newer operating systems return ERROR_MOD_NOT_FOUND.
Signed-off-by: Michael Müller michael@fds-team.de Signed-off-by: Sebastian Lackner sebastian@fds-team.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/module.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c index dac66c1..badfe1d 100644 --- a/dlls/kernel32/module.c +++ b/dlls/kernel32/module.c @@ -948,7 +948,10 @@ static HMODULE load_library( const UNICODE_STRING *libname, DWORD flags ) if (nts != STATUS_SUCCESS) { hModule = 0; - SetLastError( RtlNtStatusToDosError( nts ) ); + if (nts == STATUS_DLL_NOT_FOUND && (GetVersion() & 0x80000000)) + SetLastError( ERROR_DLL_NOT_FOUND ); + else + SetLastError( RtlNtStatusToDosError( nts ) ); } done: HeapFree( GetProcessHeap(), 0, load_path );