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;
 }