From 744c419cb4eaed4006b5f0f319b72d7ffa9fbc6d Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 19 Jul 2019 10:53:19 +0100 Subject: glamor: check for non NULL pixmap at close_screen DDX such as Xorg, Xwayland & Xephyr do not destroy the pixmap before they call into CloseScreen. At the same time Xvfb (support for glamor coming with later commit) do. As such the pixmap will be NULL and we'll crash out. Signed-off-by: Emil Velikov --- glamor/glamor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/glamor/glamor.c b/glamor/glamor.c index 4b935de59..6b8cfe9b7 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -927,7 +927,11 @@ glamor_close_screen(ScreenPtr screen) ps->Glyphs = glamor_priv->saved_procs.glyphs; screen_pixmap = screen->GetScreenPixmap(screen); - glamor_pixmap_destroy_fbo(screen_pixmap); + /* For DDX like Xwayland and Xorg, the pixmap is not destroyed so + * we should do so here. + */ + if (screen_pixmap) + glamor_pixmap_destroy_fbo(screen_pixmap); glamor_release_screen_priv(screen); -- cgit v1.2.3