On 13.07.2017 09:21, Michel Dänzer wrote:
From: Michel Dänzer <michel.daen...@amd.com>

st_framebuffer_create returns NULL if stfbi == NULL or
st_framebuffer_add_renderbuffer returns false for the colour buffer.

Fixes Xorg crashing on startup using glamor on radeonsi.

Fixes: 147d7fb772a7 ("st/mesa: add a winsys buffers list in st_context")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101775
Signed-off-by: Michel Dänzer <michel.daen...@amd.com>

Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>


---
  src/mesa/state_tracker/st_manager.c | 8 +++++---
  1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index de16a3a2cf..348b456c4d 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -802,10 +802,12 @@ st_framebuffer_reuse_or_create(struct st_context *st,
     if (stfb == NULL) {
        cur = st_framebuffer_create(st, stfbi);
- /* add to the context's winsys buffers list */
-      LIST_ADD(&cur->head, &st->winsys_buffers);
+      if (cur) {
+         /* add to the context's winsys buffers list */
+         LIST_ADD(&cur->head, &st->winsys_buffers);
- st_framebuffer_reference(&stfb, cur);
+         st_framebuffer_reference(&stfb, cur);
+      }
     }
return stfb;



--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to