From d72f1c3b80f84e8bceb414439b679b3fe71ec5b9 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Wed, 14 Apr 2010 20:23:15 +0200 Subject: r300g: fix possible crash when shader compilation fails This hopefully fixes the crash in the FDO bug #27634, not the bug itself. --- src/gallium/drivers/r300/r300_fs.c | 3 +++ src/gallium/drivers/r300/r300_vs.c | 3 +++ 2 files changed, 6 insertions(+) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/r300/r300_fs.c b/src/gallium/drivers/r300/r300_fs.c index 8da0796e70f..3cddf98675a 100644 --- a/src/gallium/drivers/r300/r300_fs.c +++ b/src/gallium/drivers/r300/r300_fs.c @@ -278,7 +278,10 @@ static void r300_translate_fragment_shader( "Giving up...\n"); abort(); } + + rc_destroy(&compiler.Base); r300_dummy_fragment_shader(r300, shader); + return; } /* Initialize numbers of constants for each type. */ diff --git a/src/gallium/drivers/r300/r300_vs.c b/src/gallium/drivers/r300/r300_vs.c index 8137972f018..bfab9c3b014 100644 --- a/src/gallium/drivers/r300/r300_vs.c +++ b/src/gallium/drivers/r300/r300_vs.c @@ -330,7 +330,10 @@ void r300_translate_vertex_shader(struct r300_context* r300, "Giving up...\n"); abort(); } + + rc_destroy(&compiler.Base); r300_dummy_vertex_shader(r300, vs); + return; } /* Initialize numbers of constants for each type. */ -- cgit v1.2.3