diff options
Diffstat (limited to 'xorg-server/glx/glxext.c')
-rw-r--r-- | xorg-server/glx/glxext.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c index 9cfc096c3..d23d10059 100644 --- a/xorg-server/glx/glxext.c +++ b/xorg-server/glx/glxext.c @@ -30,6 +30,10 @@ #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> +#else + +#include "glheader.h" + #endif #include <string.h> @@ -45,6 +49,8 @@ #include "indirect_table.h" #include "indirect_util.h" +extern void FlushContext(__GLXcontext *cx); + /* ** The last context used by the server. It is the context that is current ** from the server's perspective. @@ -132,6 +138,8 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid) for (c = glxAllContexts; c; c = next) { next = c->next; if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) { + FlushContext(c); + (*c->loseCurrent)(c); c->isCurrent = GL_FALSE; if (c == __glXLastContext) |