setupapi: Only cleanup fake dlls once the whole section has been executed.
This commit is contained in:
parent
0ef63e16d6
commit
6836990e0b
|
@ -630,5 +630,6 @@ void cleanup_fake_dlls(void)
|
|||
HeapFree( GetProcessHeap(), 0, file_buffer );
|
||||
file_buffer = NULL;
|
||||
HeapFree( GetProcessHeap(), 0, handled_dlls );
|
||||
handled_dlls = NULL;
|
||||
handled_count = handled_total = 0;
|
||||
}
|
||||
|
|
|
@ -713,7 +713,6 @@ static BOOL fake_dlls_callback( HINF hinf, PCWSTR field, void *arg )
|
|||
HeapFree( GetProcessHeap(), 0, path );
|
||||
if (!ret) break;
|
||||
}
|
||||
cleanup_fake_dlls();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1095,7 +1094,9 @@ BOOL WINAPI SetupInstallFromInfSectionW( HWND owner, HINF hinf, PCWSTR section,
|
|||
}
|
||||
else info.callback = NULL;
|
||||
|
||||
if (!iterate_section_fields( hinf, section, WineFakeDlls, fake_dlls_callback, NULL ))
|
||||
if (iterate_section_fields( hinf, section, WineFakeDlls, fake_dlls_callback, NULL ))
|
||||
cleanup_fake_dlls();
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
if (!iterate_section_fields( hinf, section, RegisterDlls, register_dlls_callback, &info ))
|
||||
|
|
Loading…
Reference in New Issue