From 52f686c48080cec9a26aa23d16bc14bd3d302d70 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 21 Oct 2005 21:39:10 +0000 Subject: [PATCH] fix GLX server resize/crash when resizing windows --- src/mesa/drivers/x11/xm_dd.c | 1 - src/mesa/main/framebuffer.c | 3 +++ src/mesa/main/state.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index 0bafad8e129..d0016b86927 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -1108,7 +1108,6 @@ update_framebuffer_size(GLcontext *ctx) get_buffer_size(fb, &newWidth, &newHeight); if (newWidth != fb->Width || newHeight != fb->Height) { xmesa_resize_buffers(ctx, fb, newWidth, newHeight); - ctx->NewState |= _NEW_BUFFERS; /* to update scissor / window bounds */ } if (ctx->WinSysReadBuffer != ctx->WinSysDrawBuffer) { diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 479f7625684..f2993b112bf 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -224,6 +224,9 @@ _mesa_resize_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb, fb->Width = width; fb->Height = height; + + /* to update scissor / window bounds */ + ctx->NewState |= _NEW_BUFFERS; } diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 244cb485c6c..6ade223fec4 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -984,7 +984,7 @@ _mesa_update_state( GLcontext *ctx ) if (new_state & (_NEW_BUFFERS | _NEW_COLOR | _NEW_PIXEL)) _mesa_update_framebuffer(ctx); - if (new_state & (_NEW_SCISSOR|_NEW_BUFFERS)) + if (new_state & (_NEW_SCISSOR | _NEW_BUFFERS | _NEW_VIEWPORT)) _mesa_update_draw_buffer_bounds( ctx ); if (new_state & _NEW_POINT) -- 2.30.2