VGL calling XShmPutImage on destroyed context

  • rocko

    rocko - 2011-12-19

    I've run into a situation after a recent change to wine where wine applications open a GL context, do things with it, then destroy it. After the context is destroyed, somebody calls XShmPutImage, resulting in a X11 BadDrawable error.

    There is only one location in wine that calls XShmPutImage, and this isn't being called, so my conclusion is that VGL is calling XShmPutImage. As I understand it, VGL uses XShmPutImage to transfer images from one graphic card to another (, sort of like a 'video player'.  Is this true?

    Is it possible therefore that there is a timing issue here, eg is it possible that VGL is caching a rendered 3d image but later calling XShmPutImage without checking if the context is still valid?

    I first reported this at (but it has been closed and comments disabled and I can't see how to reopen it) so there is more info there and in the linked wine bug.

  • DRC

    DRC - 2011-12-19

    Sorry, I didn't mean to close the comments on the bug tracker.  They have been re-opened again.  Let's move this conversation back onto there.


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks