Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
X11: Ensure repainting still works after destorying a GL context
On Linux, repaints are only issued if the number of received SHM completion events matches the number of events initiated with `xShmPutImage`. Previously, destroying a GL context was calling `XSync (display, True)` which cleared the event queue. Sometimes, this would cause an 'SHM Completion Event' to be removed from the queue. This meant that the number of received events would never match the number of initiated events, and repainting would stop indefinitely. By calling `XSync (display, False)` instead, we ensure that pending events are kept in the queue, so any pending SHM completion event will be found as usual during the next repaint timer callback.
- Loading branch information