fix GLX server resize/crash when resizing windows
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 21 Oct 2005 21:39:10 +0000 (21:39 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 21 Oct 2005 21:39:10 +0000 (21:39 +0000)
src/mesa/drivers/x11/xm_dd.c
src/mesa/main/framebuffer.c
src/mesa/main/state.c

index 0bafad8e12921b8505dcdfa7d6e14518c6e2aed3..d0016b8692701914552732d43048840dccf75e94 100644 (file)
@@ -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) {
index 479f76256841e1f9c071fbe3b1a74e9124322e02..f2993b112bfd3333b616f5b6113ad222572e6300 100644 (file)
@@ -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;
 }
 
 
index 244cb485c6c4f21f06c0fe9f94f6ce2f26957c82..6ade223fec400722a775d3258892caaef82cf87f 100644 (file)
@@ -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)