-
-
Notifications
You must be signed in to change notification settings - Fork 78
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix for lock recusion in handle_all_expose()
XCheckIfEvent() holds the X display lock and the predicate function it calls is not allowed to call any Xlib function that would re-enter the lock. libX11 1.8.1 enables X display locks unconditionnaly (it was only enabled by XInitThreads() when called explicitely before) and thus exposes the issue. So don't process events in the FCheckPeekIfEvent() predicate, but instead use a separate handler that is called for the returned event out of the lock.
- Loading branch information
1 parent
4d646ca
commit 5c17c83
Showing
3 changed files
with
38 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters