1 Nov
2023
1 Nov
'23
9:24 a.m.
Nikolay Sivov (@nsivov) commented about dlls/rtworkq/queue.c:
static void queue_release_pending_item(struct work_item *item) { + BOOL should_release = FALSE; EnterCriticalSection(&item->queue->cs); if (item->key) { list_remove(&item->entry); item->key = 0; - IUnknown_Release(&item->IUnknown_iface); + should_release = TRUE; } LeaveCriticalSection(&item->queue->cs); + + if (should_release) + IUnknown_Release(&item->IUnknown_iface); } Just add a temp "struct queue *", and keep the rest as is.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4243#note_50493