[PATCH] dmloader: Stop after find first matching object.
mstefani at winehq.org
Fri Nov 22 13:18:33 CST 2019
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
On 11/22/19 9:22 AM, Alistair Leslie-Hughes wrote:
> This stops a crash in Legoland on startup when finding cached objects.
> Placing a break in each of the if's causes the wrong object to be loaded.
> The help states it looks at each type in order. So, we might have to loop
> the cache multiple times to ensure that when an object has flag DMUS_OBJ_OBJECT,
> it's preferred over a DMUS_OBJ_FILENAME | DMUS_OBJ_FULLPATH match.
> I hope this simple change will be accepted until a proper solution is implemented.
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> dlls/dmloader/loader.c | 1 +
> 1 file changed, 1 insertion(+)
> diff --git a/dlls/dmloader/loader.c b/dlls/dmloader/loader.c
> index 0da8323e7e5..69a438765d5 100644
> --- a/dlls/dmloader/loader.c
> +++ b/dlls/dmloader/loader.c
> @@ -208,6 +208,7 @@ static HRESULT WINAPI IDirectMusicLoaderImpl_GetObject(IDirectMusicLoader8 *ifac
> TRACE(": not loaded yet\n");
> pObjectEntry = pExistingEntry;
> + break;
> else if ((pDesc->dwValidData & (DMUS_OBJ_FILENAME | DMUS_OBJ_FULLPATH)) &&
> (pExistingEntry->Desc.dwValidData & (DMUS_OBJ_FILENAME | DMUS_OBJ_FULLPATH)) &&
More information about the wine-devel