From: Marc-Aurel Zent <mzent@codeweavers.com> --- dlls/winemac.drv/cocoa_event.m | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/dlls/winemac.drv/cocoa_event.m b/dlls/winemac.drv/cocoa_event.m index d3fc4e8f22c..d01df4da3d8 100644 --- a/dlls/winemac.drv/cocoa_event.m +++ b/dlls/winemac.drv/cocoa_event.m @@ -276,7 +276,7 @@ - (MacDrvEvent*) getEventMatchingMask:(macdrv_event_mask)mask [events removeObjectAtIndex:index]; if (event->event->deliver == INT_MAX || - __atomic_sub_fetch(&event->event->deliver, 1, __ATOMIC_RELAXED) >= 0) + __atomic_sub_fetch(&event->event->deliver, 1, __ATOMIC_SEQ_CST) >= 0) { ret = event; break; @@ -646,7 +646,7 @@ int macdrv_copy_event_from_queue(macdrv_event_queue queue, */ macdrv_event* macdrv_retain_event(macdrv_event *event) { - __atomic_add_fetch(&event->refs, 1, __ATOMIC_RELAXED); + __atomic_add_fetch(&event->refs, 1, __ATOMIC_SEQ_CST); return event; } @@ -661,9 +661,8 @@ void macdrv_release_event(macdrv_event *event) { @autoreleasepool { - if (__atomic_sub_fetch(&event->refs, 1, __ATOMIC_RELEASE) <= 0) + if (__atomic_sub_fetch(&event->refs, 1, __ATOMIC_SEQ_CST) <= 0) { - __atomic_thread_fence(__ATOMIC_ACQUIRE); switch (event->type) { case IM_SET_TEXT: @@ -706,7 +705,7 @@ void macdrv_release_event(macdrv_event *event) */ macdrv_query* macdrv_retain_query(macdrv_query *query) { - __atomic_add_fetch(&query->refs, 1, __ATOMIC_RELAXED); + __atomic_add_fetch(&query->refs, 1, __ATOMIC_SEQ_CST); return query; } @@ -715,9 +714,8 @@ void macdrv_release_event(macdrv_event *event) */ void macdrv_release_query(macdrv_query *query) { - if (__atomic_sub_fetch(&query->refs, 1, __ATOMIC_RELEASE) <= 0) + if (__atomic_sub_fetch(&query->refs, 1, __ATOMIC_SEQ_CST) <= 0) { - __atomic_thread_fence(__ATOMIC_ACQUIRE); switch (query->type) { case QUERY_DRAG_DROP_ENTER: -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10463