dra7xx-evm: weston: add changes for AGL home screen
[AGL/meta-agl.git] / meta-agl-bsp / meta-ti / recipes-arago / weston / weston / 0007-ivi-shell-layout-Export-surface-destroy-callback.patch
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0007-ivi-shell-layout-Export-surface-destroy-callback.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0007-ivi-shell-layout-Export-surface-destroy-callback.patch
new file mode 100644 (file)
index 0000000..1fe7cf5
--- /dev/null
@@ -0,0 +1,60 @@
+From 9f47b84c94c71ef8bb1459c4c2b2759343432558 Mon Sep 17 00:00:00 2001
+From: Volodymyr Riazantsev <volodymyr.riazantsev@globallogic.com>
+Date: Fri, 1 Jul 2016 22:38:43 -0400
+Subject: [PATCH 7/8] ivi-shell: layout: Export surface destroy callback
+
+[HACK]
+Some applications still using regular shell interface and
+thereby must be handled through weston native notifications.
+
+Only one and single notification callback accepted and it can be
+in external module.
+
+So we need to export call back for remove surface inside layout
+controlled.
+
+This is a obvious hack.
+
+Signed-off-by: Volodymyr Riazantsev <volodymyr.riazantsev@globallogic.com>
+Signed-off-by: Karthik Ramanan <a0393906@ti.com>
+---
+ ivi-shell/ivi-layout-export.h | 7 +++++++
+ ivi-shell/ivi-layout.c        | 4 +++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h
+index 7f93c82..f5ea54e 100644
+--- a/ivi-shell/ivi-layout-export.h
++++ b/ivi-shell/ivi-layout-export.h
+@@ -823,6 +823,13 @@ struct ivi_controller_interface {
+        * \return id of ivi_screen
+        */
+       uint32_t (*get_id_of_screen)(struct ivi_layout_screen *iviscrn);
++
++      /**
++       * \brief HACK. Destroy surface.
++       *
++       */
++      void (*surface_destroy)(struct ivi_layout_surface *ivisurf);
++
+ };
+ #ifdef __cplusplus
+diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
+index 85cb457..7d2daa1 100644
+--- a/ivi-shell/ivi-layout.c
++++ b/ivi-shell/ivi-layout.c
+@@ -3016,7 +3016,9 @@ static struct ivi_controller_interface ivi_controller_interface = {
+       /**
+        * screen controller interfaces part2
+        */
+-      .get_id_of_screen       = ivi_layout_get_id_of_screen
++      .get_id_of_screen       = ivi_layout_get_id_of_screen,
++
++      .surface_destroy        = ivi_layout_surface_destroy
+ };
+ int
+-- 
+2.4.5
+