From afbf446de5ad91743e2e2a76799bd87f3eed5f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 31 Jul 2010 02:19:27 +0200 Subject: [PATCH] st/dri: fix crash when dri2_drawable_get_buffers fails 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 This is actually a workaround to prevent Compiz crashes. Instead, a completely white titlebar might show up during resizing transparent windows (a rare case). The underlying cause should be fixed by someone who has more knowledge about the code. (dri2_drawable_get_buffers should not return NULL) Acked-By: Jakob Bornecrantz --- src/gallium/state_trackers/dri/drm/dri2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c index 88ffa1e89d3..1fb89963371 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