[PATCH] clients: Free resources on exit in eventdemo

Pekka Paalanen ppaalanen at gmail.com
Sun Jul 8 06:09:21 PDT 2012


On Sun,  8 Jul 2012 11:11:18 +0200
Martin Olsson <martin at minimum.se> wrote:

> ---
>  clients/eventdemo.c |   15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/clients/eventdemo.c b/clients/eventdemo.c
> index daf3283..22dade3 100644
> --- a/clients/eventdemo.c
> +++ b/clients/eventdemo.c
> @@ -261,6 +261,7 @@ motion_handler(struct widget *widget, struct input *input, uint32_t time,
>  
>  /**
>   * \brief Create and initialise a new eventdemo window.
> + * The returned eventdemo instance should be destroyed using \c eventdemo_destroy().
>   * \param d associated display
>   */
>  static struct eventdemo *
> @@ -320,6 +321,16 @@ eventdemo_create(struct display *d)
>  	return e;
>  }
>  /**
> + * \brief Destroy eventdemo instance previously created by \c eventdemo_create().
> + * \param eventdemo eventdemo instance to destroy
> + */
> +static void eventdemo_destroy(struct eventdemo * eventdemo)
> +{
> +	widget_destroy(eventdemo->widget);
> +	window_destroy(eventdemo->window);
> +	free(eventdemo);
> +}
> +/**
>   * \brief command line options for eventdemo
>   */
>  static const struct weston_option eventdemo_options[] = {
> @@ -366,5 +377,9 @@ main(int argc, char *argv[])
>  
>  	display_run(d);
>  
> +	/* Release resources */
> +	eventdemo_destroy(e);
> +	display_destroy(d);
> +
>  	return 0;
>  }

Looks good to me now, I assume you tested this program exits
properly. Btw. have you tried Valgrind on these?

-- 
Pekka Paalanen
http://www.iki.fi/pq/


More information about the wayland-devel mailing list