https://bugs.winehq.org/show_bug.cgi?id=49094 Patrick Donnelly <bat.misc(a)batbytes.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |449ca2fbf9e44a40ff2cc6eedad | |a8dd2f94c7adf Resolution|--- |FIXED --- Comment #1 from Patrick Donnelly <bat.misc(a)batbytes.com> --- It appears this commit fixes the issue: commit 449ca2fbf9e44a40ff2cc6eedada8dd2f94c7adf HEAD Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Tue May 5 20:30:39 2020 +0800 user32: Leave critical section before calling callbacks in EnumDisplayMonitors(). Previously, callbacks were called with a critical section held. It was intended that monitor handles passed to callbacks should always be valid. But it created a deadlock condition when callbacks call other functions which try to grab the critical section using a different thread. Tests also show that a monitor handle can be invalid after a display change. So do not hold the critical section when calling callbacks. Monitor handles will be checked when passed to GetMonitorInfo(), which is the sole function that consumes HMONITORs. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.