[PATCH] dmloader: Only use the GUID when looking for cached objects.

Michael Stefaniuc mstefani at winehq.org
Thu Nov 21 14:27:45 CST 2019


Hello Alistair,

any reason you remove that code?

I do see that code being hit by some apps (Ludwig3, the DirectMusic
samples from the DirectX 8.1b SDK).

Also we have similar code in, IDirectMusicLoaderImpl_CacheObject() and
IDirectMusicLoaderImpl_ReleaseObject().


thanks
bye
	michael


On 11/21/19 8:40 AM, Alistair Leslie-Hughes wrote:
> ---
>  dlls/dmloader/loader.c | 50 +-----------------------------------------
>  1 file changed, 1 insertion(+), 49 deletions(-)
> 
> diff --git a/dlls/dmloader/loader.c b/dlls/dmloader/loader.c
> index 0da8323e7e5..c4c54412e12 100644
> --- a/dlls/dmloader/loader.c
> +++ b/dlls/dmloader/loader.c
> @@ -208,55 +208,7 @@ static HRESULT WINAPI IDirectMusicLoaderImpl_GetObject(IDirectMusicLoader8 *ifac
>  				TRACE(": not loaded yet\n");
>  				pObjectEntry = pExistingEntry;
>  			}
> -		}
> -		else if ((pDesc->dwValidData & (DMUS_OBJ_FILENAME | DMUS_OBJ_FULLPATH)) &&
> -				(pExistingEntry->Desc.dwValidData & (DMUS_OBJ_FILENAME | DMUS_OBJ_FULLPATH)) &&
> -				!wcsncmp (pDesc->wszFileName, pExistingEntry->Desc.wszFileName, DMUS_MAX_FILENAME)) {
> -			TRACE(": found it by fullpath filename\n");
> -			if (pExistingEntry->Desc.dwValidData & DMUS_OBJ_LOADED) {
> -				TRACE(": already loaded\n");
> -				return IDirectMusicObject_QueryInterface (pExistingEntry->pObject, riid, ppv);
> -			} else {
> -				TRACE(": not loaded yet\n");
> -				pObjectEntry = pExistingEntry;
> -			}
> -		}
> -		else if ((pDesc->dwValidData & (DMUS_OBJ_NAME | DMUS_OBJ_CATEGORY)) &&
> -				(pExistingEntry->Desc.dwValidData & (DMUS_OBJ_NAME | DMUS_OBJ_CATEGORY)) &&
> -				!wcsncmp (pDesc->wszName, pExistingEntry->Desc.wszName, DMUS_MAX_NAME) &&
> -				!wcsncmp (pDesc->wszCategory, pExistingEntry->Desc.wszCategory, DMUS_MAX_CATEGORY)) {
> -			TRACE(": found it by name and category\n");
> -			if (pExistingEntry->Desc.dwValidData & DMUS_OBJ_LOADED) {
> -				TRACE(": already loaded\n");
> -				return IDirectMusicObject_QueryInterface (pExistingEntry->pObject, riid, ppv);
> -			} else {
> -				TRACE(": not loaded yet\n");
> -				pObjectEntry = pExistingEntry;
> -			}
> -		}
> -		else if ((pDesc->dwValidData & DMUS_OBJ_NAME) &&
> -				(pExistingEntry->Desc.dwValidData & DMUS_OBJ_NAME) &&
> -				!wcsncmp (pDesc->wszName, pExistingEntry->Desc.wszName, DMUS_MAX_NAME)) {
> -			TRACE(": found it by name\n");
> -			if (pExistingEntry->Desc.dwValidData & DMUS_OBJ_LOADED) {
> -				TRACE(": already loaded\n");
> -				return IDirectMusicObject_QueryInterface (pExistingEntry->pObject, riid, ppv);
> -			} else {
> -				TRACE(": not loaded yet\n");
> -				pObjectEntry = pExistingEntry;
> -			}
> -		}
> -		else if ((pDesc->dwValidData & DMUS_OBJ_FILENAME) &&
> -				(pExistingEntry->Desc.dwValidData & DMUS_OBJ_FILENAME) &&
> -				!wcsncmp (pDesc->wszFileName, pExistingEntry->Desc.wszFileName, DMUS_MAX_FILENAME)) {
> -			TRACE(": found it by filename\n");				
> -			if (pExistingEntry->Desc.dwValidData & DMUS_OBJ_LOADED) {
> -				TRACE(": already loaded\n");
> -				return IDirectMusicObject_QueryInterface (pExistingEntry->pObject, riid, ppv);
> -			} else {
> -				TRACE(": not loaded yet\n");
> -				pObjectEntry = pExistingEntry;
> -			}
> +			break;
>  		}
>  	}
>  	
> 




More information about the wine-devel mailing list