<div dir="ltr"><div>Oh, I see. I'm not familiar with quartz and I'm not sure I can cover everything. Would you be able to create a patch?<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2021年8月11日(水) 10:23 Zebediah Figura (she/her) <<a href="mailto:zfigura@codeweavers.com">zfigura@codeweavers.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 8/10/21 7:18 PM, 粟田大樹 wrote:<br>
> Hi, Zebediah.<br>
> Thanks for the detailed research.<br>
> I've revert the first patch, applied the next one and the test was<br>
> successful!<br>
> Is the code fix as intended? If it is ok, I will send a PATCH v2.<br>
> <br>
> diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c<br>
> index 73a923a7b99..0eb339420db 100644<br>
> --- a/dlls/quartz/systemclock.c<br>
> +++ b/dlls/quartz/systemclock.c<br>
> @@ -338,6 +338,7 @@ HRESULT system_clock_create(IUnknown *outer, IUnknown<br>
> **out)<br>
>       list_init(&object->sinks);<br>
>       InitializeCriticalSection(&object->cs);<br>
>       object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ":<br>
> SystemClockImpl.cs");<br>
> +    InterlockedIncrement(&object_locks);<br>
> <br>
>       TRACE("Created system clock %p.\n", object);<br>
>       *out = &object->IUnknown_inner;<br>
> <br>
<br>
Well, it's not quite as simple as that hunk; now you're leaking <br>
references for any system clock created via CoCreateInstance(). You'll <br>
need to do the same for all other quartz objects, and remove the <br>
InterlockedIncrement() from DSCF_CreateInstance().<br>
</blockquote></div>