From 7307298ac3a6fbd205841d34cceea4bbf88d7e29 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 17 Feb 2014 16:25:13 +0100 Subject: [PATCH] ntdll: Don't fixup imports when a dll is already loaded. --- dlls/kernel32/tests/loader.c | 1 - dlls/ntdll/loader.c | 2 -- 2 files changed, 3 deletions(-) diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c index 9a567949b3a..55c63adcad7 100644 --- a/dlls/kernel32/tests/loader.c +++ b/dlls/kernel32/tests/loader.c @@ -1297,7 +1297,6 @@ static void test_import_resolution(void) (void *)ptr->thunks[0].u1.Function, data.module, data.function.name ); mod2 = LoadLibraryA( dll_name ); ok( mod2 == mod, "loaded twice %p / %p\n", mod, mod2 ); - todo_wine ok( ptr->thunks[0].u1.Function == 0xdeadbeef, "thunk resolved to %p for %s.%s\n", (void *)ptr->thunks[0].u1.Function, data.module, data.function.name ); FreeLibrary( mod ); diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index e25ba1f537b..fedade5790a 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -2018,8 +2018,6 @@ static NTSTATUS load_dll( LPCWSTR load_path, LPCWSTR libname, DWORD flags, WINE_ { if ((*pwm)->ldr.LoadCount != -1) (*pwm)->ldr.LoadCount++; - if (!(flags & DONT_RESOLVE_DLL_REFERENCES)) fixup_imports( *pwm, load_path ); - TRACE("Found %s for %s at %p, count=%d\n", debugstr_w((*pwm)->ldr.FullDllName.Buffer), debugstr_w(libname), (*pwm)->ldr.BaseAddress, (*pwm)->ldr.LoadCount);