glamor: protect from NULL return of GetPictureScreenIfSet()
GetPictureScreenIfSet() is designed that NULL can be returned. Even though it should not happen in this particular case, better be prepared for that, instead of just segfault'ing. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
5fd11ec4a6
commit
faef79be75
|
@ -905,7 +905,6 @@ glamor_close_screen(ScreenPtr screen)
|
||||||
{
|
{
|
||||||
glamor_screen_private *glamor_priv;
|
glamor_screen_private *glamor_priv;
|
||||||
PixmapPtr screen_pixmap;
|
PixmapPtr screen_pixmap;
|
||||||
PictureScreenPtr ps = GetPictureScreenIfSet(screen);
|
|
||||||
|
|
||||||
glamor_priv = glamor_get_screen_private(screen);
|
glamor_priv = glamor_get_screen_private(screen);
|
||||||
glamor_sync_close(screen);
|
glamor_sync_close(screen);
|
||||||
|
@ -923,11 +922,14 @@ glamor_close_screen(ScreenPtr screen)
|
||||||
screen->BitmapToRegion = glamor_priv->saved_procs.bitmap_to_region;
|
screen->BitmapToRegion = glamor_priv->saved_procs.bitmap_to_region;
|
||||||
screen->BlockHandler = glamor_priv->saved_procs.block_handler;
|
screen->BlockHandler = glamor_priv->saved_procs.block_handler;
|
||||||
|
|
||||||
|
PictureScreenPtr ps = GetPictureScreenIfSet(screen);
|
||||||
|
if (ps) {
|
||||||
ps->Composite = glamor_priv->saved_procs.composite;
|
ps->Composite = glamor_priv->saved_procs.composite;
|
||||||
ps->Trapezoids = glamor_priv->saved_procs.trapezoids;
|
ps->Trapezoids = glamor_priv->saved_procs.trapezoids;
|
||||||
ps->Triangles = glamor_priv->saved_procs.triangles;
|
ps->Triangles = glamor_priv->saved_procs.triangles;
|
||||||
ps->CompositeRects = glamor_priv->saved_procs.composite_rects;
|
ps->CompositeRects = glamor_priv->saved_procs.composite_rects;
|
||||||
ps->Glyphs = glamor_priv->saved_procs.glyphs;
|
ps->Glyphs = glamor_priv->saved_procs.glyphs;
|
||||||
|
}
|
||||||
|
|
||||||
screen_pixmap = screen->GetScreenPixmap(screen);
|
screen_pixmap = screen->GetScreenPixmap(screen);
|
||||||
glamor_pixmap_destroy_fbo(screen_pixmap);
|
glamor_pixmap_destroy_fbo(screen_pixmap);
|
||||||
|
|
Loading…
Reference in New Issue