clients: Free resources on exit in eventdemo
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 @@
/**
* \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 @@
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 @@
display_run(d);
+ /* Release resources */
+ eventdemo_destroy(e);
+ display_destroy(d);
+
return 0;
}