Scale is calculated as float and to be inf. It shall be avoided by,
ivi_layout_surface_set_source/destination_rectangle. So output log and
then return this method to use prevous scale for fail safe.

Signed-off-by: Nobuhiko Tanibata <nobuhiko_tanib...@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
---
 ivi-shell/ivi-layout.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index dc6053d..9c05713 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -719,9 +719,14 @@ update_scale(struct ivi_layout_layer *ivilayer,
                return;
        }
 
-       if (ivisurf->prop.dest_width == 0 && ivisurf->prop.dest_height == 0) {
-               ivisurf->prop.dest_width  = ivisurf->surface->width_from_buffer;
-               ivisurf->prop.dest_height = 
ivisurf->surface->height_from_buffer;
+       if (ivisurf->prop.source_width == 0 || ivisurf->prop.source_height == 
0) {
+               weston_log("ivi-shell: source rectangle is not yet set by 
ivi_layout_surface_set_source_rectangle\n");
+               return;
+       }
+
+       if (ivisurf->prop.dest_width == 0 || ivisurf->prop.dest_height == 0) {
+               weston_log("ivi-shell: destination rectangle is not yet set by 
ivi_layout_surface_set_destination_rectangle\n");
+               return;
        }
 
        lw = ((float)ivilayer->prop.dest_width  / 
(float)ivilayer->prop.source_width );
-- 
1.8.3.1

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to