26 Sep
2023
26 Sep
'23
10:15 a.m.
Nikolay Sivov (@nsivov) commented about dlls/mf/clock.c:
{ LIST_FOR_EACH_ENTRY_SAFE(timer, timer2, &clock->timers, struct clock_timer, entry) { - list_remove(&timer->entry); hr = MFCreateAsyncResult(&timer->IUnknown_iface, &clock->timer_callback, NULL, &result); - IUnknown_Release(&timer->IUnknown_iface); if (SUCCEEDED(hr)) { MFPutWorkItemEx(MFASYNC_CALLBACK_QUEUE_TIMER, result);
I think it should be enough to list_init() it here, so that callback works correctly. Why do you think Release() is not needed here? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3955#note_46783