From: Brian Paul Date: Mon, 29 Sep 2014 22:08:55 +0000 (-0600) Subject: llvmpipe: move lp_jit_screen_init() call after allocation of screen object X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6b65847835b63a254c374a3562b54c5d58559c19;p=mesa.git llvmpipe: move lp_jit_screen_init() call after allocation of screen object The screen argument isn't actually used by lp_jit_screen_init() at this time, but let's move the call so that we pass a valid pointer. v2: don't leak screen if lp_jit_screen_init() fails. Reviewed-by: Roland Scheidegger --- diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 30253222910..a264f990d02 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -557,9 +557,6 @@ llvmpipe_create_screen(struct sw_winsys *winsys) return NULL; #endif - if (!lp_jit_screen_init(screen)) - return NULL; - #ifdef DEBUG LP_DEBUG = debug_get_flags_option("LP_DEBUG", lp_debug_flags, 0 ); #endif @@ -570,6 +567,11 @@ llvmpipe_create_screen(struct sw_winsys *winsys) if (!screen) return NULL; + if (!lp_jit_screen_init(screen)) { + FREE(screen); + return NULL; + } + screen->winsys = winsys; screen->base.destroy = llvmpipe_destroy_screen;