[PATCH] quartz: show fixme for Parser_OutputPin_QueryInterface only once
Nikolay Sivov
bunglehead at gmail.com
Wed Oct 21 02:41:56 CDT 2015
On 20.10.2015 21:56, Jonas Maebe wrote:
> This prevents the game Majesty Gold HD from flooding the console with
> "No interface for {56a868a5-0ad4-11ce-b03a-0020af0ba770}" messages.
>
> Signed-off-by: Jonas Maebe <jonas.maebe at elis.ugent.be>
> ---
> dlls/quartz/parser.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c
> index cd8d93d..a9384a5 100644
> --- a/dlls/quartz/parser.c
> +++ b/dlls/quartz/parser.c
> @@ -634,6 +634,7 @@ static HRESULT WINAPI Parser_OutputPin_BreakConnect(BaseOutputPin *This)
>
> static HRESULT WINAPI Parser_OutputPin_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv)
> {
> + static int once = 0;
> Parser_OutputPin *This = unsafe_impl_Parser_OutputPin_from_IPin(iface);
>
> TRACE("(%s, %p)\n", qzdebugstr_guid(riid), ppv);
> @@ -654,7 +655,11 @@ static HRESULT WINAPI Parser_OutputPin_QueryInterface(IPin * iface, REFIID riid,
> return S_OK;
> }
>
> - FIXME("No interface for %s!\n", qzdebugstr_guid(riid));
> + if (!once)
> + {
> + FIXME("No interface for %s!\n", qzdebugstr_guid(riid));
> + once = 1;
> + }
>
> return E_NOINTERFACE;
> }
>
This is too much, because it will disable every failed QI fixme after
first one. Base output pin already supports IQualityControl case, by
forwarding it. So proper fix is to try to write some tests for this pin
implementation to see if it's supposed to be supported, and then act
from there.
More information about the wine-devel
mailing list