diff options
Diffstat (limited to 'ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c')
-rw-r--r-- | ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c b/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c index 73568d7..f09a307 100644 --- a/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c +++ b/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c @@ -2535,9 +2535,19 @@ ilm_getPropertiesOfSurface(t_ilm_uint surfaceID, ctx_surf = get_surface_context(&ctx->wl, (uint32_t)surfaceID); if (ctx_surf != NULL) { - - *pSurfaceProperties = ctx_surf->prop; - returnValue = ILM_SUCCESS; + // request statistics for surface + ivi_controller_surface_send_stats(ctx_surf->controller); + // force submission + int ret = display_roundtrip_queue(ctx->wl.display, ctx->wl.queue); + + // If we got an error here, there is really no sense + // in returning the properties as something is fundamentally + // broken. + if (ret != -1) + { + *pSurfaceProperties = ctx_surf->prop; + returnValue = ILM_SUCCESS; + } } } |