dbghelp: Ignore missing debug info in SymInitializeW.

When fInvadeProcess is used, we return an error if the target process
is found but its debug info is not. We should only return an error if
the process is not found.

This fixes a SymInitializeW popup error on Hard Reset Redux startup.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2020-07-31 14:22:34 +02:00 committed by Alexandre Julliard
parent fd71ffb44a
commit 774ee4734a
1 changed files with 4 additions and 2 deletions

View File

@ -354,7 +354,9 @@ static BOOL check_live_target(struct process* pcs)
if (!base) return FALSE;
TRACE("got debug info address %#lx from PEB %p\n", base, pbi.PebBaseAddress);
return elf_read_wine_loader_dbg_info(pcs, base) || macho_read_wine_loader_dbg_info(pcs, base);
if (!elf_read_wine_loader_dbg_info(pcs, base) && !macho_read_wine_loader_dbg_info(pcs, base))
WARN("couldn't load process debug info at %#lx\n", base);
return TRUE;
}
/******************************************************************
@ -456,7 +458,7 @@ BOOL WINAPI SymInitializeW(HANDLE hProcess, PCWSTR UserSearchPath, BOOL fInvadeP
{
if (fInvadeProcess)
EnumerateLoadedModulesW64(hProcess, process_invade_cb, hProcess);
pcs->loader->synchronize_module_list(pcs);
if (pcs->loader) pcs->loader->synchronize_module_list(pcs);
}
else if (fInvadeProcess)
{