[PATCH 2/2] hmi-controller: fix wrong panel width

Ucan, Emre (ADITG/SW1) eucan at de.adit-jv.com
Thu Mar 17 14:36:52 UTC 2016


The width of the first base layer is used for all panels.
Every display has a base layer which is as big as the
display. Therefore, it is wrong to use the width of the
first base layer for all panels, because every display
could have a different resolution.

Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
---
 ivi-shell/hmi-controller.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index 2ea0744..57027b9 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -971,12 +971,9 @@ ivi_hmi_controller_set_panel(struct hmi_controller *hmi_ctrl,
 			     uint32_t id_surface)
 {
 	struct ivi_layout_surface *ivisurf  = NULL;
-	struct hmi_controller_layer *base_layer =
-					wl_container_of(hmi_ctrl->base_layer_list.prev,
-							base_layer,
-							link);
+	struct hmi_controller_layer *base_layer;
 	struct ivi_layout_layer   *ivilayer = NULL;
-	const int32_t width  = base_layer->width;
+	int32_t width;
 	int32_t ret = 0;
 	int32_t panel_height = hmi_ctrl->hmi_setting->panel_height;
 	const int32_t dstx = 0;
@@ -996,6 +993,7 @@ ivi_hmi_controller_set_panel(struct hmi_controller *hmi_ctrl,
 		assert(!ret);
 
 		dsty = base_layer->height - panel_height;
+		width = base_layer->width;
 
 		ret = ivi_layout_interface->surface_set_destination_rectangle(
 			ivisurf, dstx, dsty, width, panel_height);
-- 
1.7.9.5



More information about the wayland-devel mailing list