Rémi Bernon (@rbernon) commented about dlls/win32u/snidrv/dbus.c:
+ if (!found_notification) + { + found_notification = malloc(sizeof(struct standalone_notification)); + if (!found_notification) + { + ret = FALSE; + goto cleanup; + } + found_notification->owner = owner; + found_notification->id = id; + found_notification->notification_id = 0; + list_add_tail(&standalone_notification_list, &found_notification->entry); + } + else + TRACE("found existing notification %p %d\n", owner, id); + ret = send_notification(global_connection, I'm not sure but don't think it is safe to use a connection from two threads while one is dispatching, would probably be better to use the icon connection here.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2808#note_54840