[Mesa-dev] [PATCH] st/dri: fix crash when dri2_drawable_get_buffers fails

Marek Olšák maraeo at gmail.com
Fri Jul 30 17:32:03 PDT 2010


It's easily reproducible with Compiz with its Resize window mode
set to Normal (which is usually not the default mode).

https://bugs.freedesktop.org/show_bug.cgi?id=28658
https://bugs.freedesktop.org/show_bug.cgi?id=29303

I don't know whether thix fix is correct, but it no longer crashes at least.
Instead, a completely white titlebar and window border is randomly shown
during resizing.
---
 src/gallium/state_trackers/dri/drm/dri2.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c
index 88ffa1e..1fb8996 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -351,7 +351,8 @@ dri2_allocate_textures(struct dri_drawable *drawable,
    unsigned num_buffers = count;
 
    buffers = dri2_drawable_get_buffers(drawable, statts, &num_buffers);
-   dri2_drawable_process_buffers(drawable, buffers, num_buffers);
+   if (buffers)
+      dri2_drawable_process_buffers(drawable, buffers, num_buffers);
 }
 
 static void
-- 
1.7.0.4



More information about the mesa-dev mailing list