summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMarcin Slusarz <[email protected]>2011-11-11 20:45:08 +0100
committerMarcin Slusarz <[email protected]>2011-12-02 19:31:50 +0100
commit27e77cb902b4f7f5e127dcd78951e3167f13d59c (patch)
treeb5cad7dadbc1938c9e51a545e7414bd868861c98 /src/gallium
parent19b102517234cc28056ce366a159d18eadab043f (diff)
nv50/nvc0: fix crash when channel allocation fails
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/nv50/nv50_screen.c3
-rw-r--r--src/gallium/drivers/nvc0/nvc0_screen.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index 47eba85ba84..3cd5fdfedf3 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -228,7 +228,8 @@ nv50_screen_destroy(struct pipe_screen *pscreen)
nouveau_fence_wait(screen->base.fence.current);
nouveau_fence_ref (NULL, &screen->base.fence.current);
}
- screen->base.channel->user_private = NULL;
+ if (screen->base.channel)
+ screen->base.channel->user_private = NULL;
if (screen->blitctx)
FREE(screen->blitctx);
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c
index 38f918ac83f..79c3e36b8f9 100644
--- a/src/gallium/drivers/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nvc0/nvc0_screen.c
@@ -220,7 +220,8 @@ nvc0_screen_destroy(struct pipe_screen *pscreen)
nouveau_fence_wait(screen->base.fence.current);
nouveau_fence_ref(NULL, &screen->base.fence.current);
}
- screen->base.channel->user_private = NULL;
+ if (screen->base.channel)
+ screen->base.channel->user_private = NULL;
if (screen->blitctx)
FREE(screen->blitctx);