Hi,
this is indeed a change in behavior, there is a case in ivi-controller
where the ivi surface has not width and height it is the time between
the ivi surface is created but the corresponding wayland surface did not
received any buffer so far. Of cause wayland surface might also get
buffer attached with size zero but this case is not properly handled
currently.
I would like to skip this patch for the time being
On 22.03.2016 15:48, Pekka Paalanen wrote:
From: Pekka Paalanen <pekka.paala...@collabora.co.uk>
When surface size changes to zero, do not ignore it, but forward that
change to the controller. A controller should do what's proper for a
surface that just lost its content.
Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
---
ivi-shell/hmi-controller.c | 2 ++
ivi-shell/ivi-shell.c | 3 ---
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index e9c9ab0..7c96439 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -660,6 +660,8 @@ set_notification_configure_surface(struct
ivi_layout_surface *ivisurf,
*/
surface = ivi_layout_interface->surface_get_weston_surface(ivisurf);
if (surface) {
+ /* XXX: needs to handle zero size by unmapping the surface */
+
ivi_layout_interface->surface_set_source_rectangle(
ivisurf, 0, 0, surface->width,
surface->height);
diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c
index c502c74..fe86c27 100644
--- a/ivi-shell/ivi-shell.c
+++ b/ivi-shell/ivi-shell.c
@@ -118,9 +118,6 @@ ivi_shell_surface_configure(struct weston_surface *surface,
if (!ivisurf)
return;
- if (surface->width == 0 || surface->height == 0)
- return;
-
if (ivisurf->width != surface->width ||
ivisurf->height != surface->height) {
ivisurf->width = surface->width;
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel