[Mesa-dev] [PATCH] st/mesa: Check after _mesa_create_context()

Brian Paul brianp at vmware.com
Mon Jul 11 06:54:39 PDT 2011


On 07/09/2011 06:56 AM, Emil Velikov wrote:
> In some cases _mesa_create_context() can return NULL
> an in the mesa state tracker, we do not concider the
> case, which may cause issues within st_create_context_priv()
>
> This patch adds a simple check (similar to the one in the
> dri drivers), as well as clears the function table 'funcs'
>
> Signed-off-by: Emil Velikov<emil.l.velikov at gmail.com>
> ---
>   src/mesa/state_tracker/st_context.c |    4 ++++
>   1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
> index 6eddbfc..d021d64 100644
> --- a/src/mesa/state_tracker/st_context.c
> +++ b/src/mesa/state_tracker/st_context.c
> @@ -179,6 +179,10 @@ struct st_context *st_create_context(gl_api api, struct pipe_context *pipe,
>      st_init_driver_functions(&funcs);
>
>      ctx = _mesa_create_context(api, visual, shareCtx,&funcs, NULL);
> +   if (!ctx) {
> +      memset(&funcs, 0, sizeof(funcs));
> +      return NULL;
> +   }
>
>      /* XXX: need a capability bit in gallium to query if the pipe
>       * driver prefers DP4 or MUL/MAD for vertex transformation.

I don't see the need to zero-out the funcs table.
Otherwise, looks good.

-Brian



More information about the mesa-dev mailing list