From 4a330d17e9c6b556172d49851967d00996654899 Mon Sep 17 00:00:00 2001 From: Nobuhiko Tanibata Date: Mon, 7 Jul 2014 21:19:53 +0900 Subject: weston-ivi-shell: Send content_state event from ivi-controller. When content of ivi_surface is changes, e.g. map wl_surface or remove it, content_state is notified. Signed-off-by: Nobuhiko Tanibata --- weston-ivi-shell/src/ivi-controller.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c index 49c61e6..e9c37a1 100755 --- a/weston-ivi-shell/src/ivi-controller.c +++ b/weston-ivi-shell/src/ivi-controller.c @@ -1553,6 +1553,7 @@ surface_event_create(struct ivi_layout_surface *layout_surface, struct ivishell *shell = userdata; struct ivisurface *ivisurf = NULL; uint32_t id_surface = 0; + struct ivicontroller_surface *ctrlsurf = NULL; id_surface = ivi_layout_getIdOfSurface(layout_surface); @@ -1561,6 +1562,13 @@ surface_event_create(struct ivi_layout_surface *layout_surface, weston_log("failed to create surface"); return; } + + wl_list_for_each(ctrlsurf, &shell->list_controller_surface, link) { + if (id_surface != ctrlsurf->id_surface) { + continue; + } + ivi_controller_surface_send_content(ctrlsurf->resource, IVI_CONTROLLER_SURFACE_CONTENT_STATE_CONTENT_AVAILABLE); + } } static void @@ -1599,6 +1607,7 @@ surface_event_remove(struct ivi_layout_surface *layout_surface, if (id_surface != ctrlsurf->id_surface) { continue; } + ivi_controller_surface_send_content(ctrlsurf->resource, IVI_CONTROLLER_SURFACE_CONTENT_STATE_CONTENT_REMOVED); ivi_controller_surface_send_destroyed(ctrlsurf->resource); } } -- cgit v1.2.1