Ralovich, Kristóf wrote:
> This patch is at
> http://cgit.freedesktop.org/~tade/mesa/commit/?h=xcb-integration&id=18deb0897ede0d1406bcfc7419b12654ceddf6af
> .
> 
> Kristof
> 
> 
>>From 18deb0897ede0d1406bcfc7419b12654ceddf6af Mon Sep 17 00:00:00 2001
> From: =?utf-8?q?Ralovich,=20Krist=C3=B3f?= <[EMAIL PROTECTED]>
> Date: Tue, 19 Aug 2008 14:48:34 +0200
> Subject: [PATCH] Plugging a leak by freeing vertex array state.
> 
> ---
>  src/glx/x11/glxcmds.c               |    2 ++
>  src/glx/x11/indirect_vertex_array.c |   24 ++++++++++++++++++++++++
>  2 files changed, 26 insertions(+), 0 deletions(-)
> 
> diff --git a/src/glx/x11/glxcmds.c b/src/glx/x11/glxcmds.c
> index d59bbd2..a4ee260 100644
> --- a/src/glx/x11/glxcmds.c
> +++ b/src/glx/x11/glxcmds.c
> @@ -539,6 +539,8 @@ DestroyContext(Display *dpy, GLXContext gc)
>     }
>  #endif
> 
> +   __glXFreeVertexArrayState(gc);
> +
>     if (gc->currentDpy) {
>        /* Have to free later cuz it's in use now */
>        __glXUnlock();
> diff --git a/src/glx/x11/indirect_vertex_array.c
> b/src/glx/x11/indirect_vertex_array.c
> index 15e3ece..8c22f0a 100644
> --- a/src/glx/x11/indirect_vertex_array.c
> +++ b/src/glx/x11/indirect_vertex_array.c
> @@ -101,6 +101,30 @@ const GLuint __glXTypeSize_table[16] = {
>  };
> 
> 
> +/**
> + *
> + */
> +void
> +__glXFreeVertexArrayState( __GLXcontext * gc )
> +{
> +  __GLXattribute * state = (__GLXattribute *)(gc->client_state_private);
> +  struct array_state_vector* arrays =
> +    (struct array_state_vector*)state->array_state;
> +
> +    if (arrays) {
> +        if (arrays->stack) {
> +            free(arrays->stack);
> +            arrays->stack = NULL;
> +        }
> +        if (arrays->arrays) {
> +            free(arrays->arrays);
> +            arrays->arrays = NULL;
> +        }
> +        free(arrays);
> +        arrays = NULL;
> +    }
> +}
> +
> 
>  /**
>   * Initialize vertex array state of a GLX context.
> --
> 1.5.6.3

Fixed in git.  I removed the unneeded cast that Tomas pointed out. 
Plus, added a function prototype, etc.

-Brian


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to