http://bugs.winehq.org/show_bug.cgi?id=24921
--- Comment #10 from Traumflug mah@jump-ing.de 2011-10-02 17:40:35 CDT --- Created attachment 36674 --> http://bugs.winehq.org/attachment.cgi?id=36674 Hiding patch against git as of 2011-10-02
Please find attached the patch given earlier in this bug updated to current git. It wraps the call to XCreatePixmap() in it's own error handler, allowing to set back the created pixmap to NULL and making the already existing failure handling code work.
Trying hard to implement an X11DRV_expect_error() to deal properly with the failures just led to more and more confusion. Part of this confusion is, I can't find out how to build or run winedbg from git sources, so I had to resort to printf()-type debugging.
Running with WINEDEBUG=+synchronous, the patch is a no-op:
err:x11drv:error_handler X protocol error: serial=159305, request_code=53 - breaking into debugger
This is clearly Wine's standard X Error handler, no idea how this gets in there. Maybe this isn't actually an XCreatePixmap() failure, but something else messing up the event queue?