[PATCH 1/2] hmi-controller: fix wrong background surface size

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


In current implementation, the size of the first application
layer is used for the background image of a display.

This is wrong because:
	1. The background surface should be fullscreen.
	2. Each display could have different resolution.

We should use the size of the base layer of each display
for the background image.

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

diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index 86f7c50..2ea0744 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -925,14 +925,10 @@ ivi_hmi_controller_set_background(struct hmi_controller *hmi_ctrl,
 	struct ivi_layout_surface *ivisurf = NULL;
 	struct hmi_controller_layer *base_layer = NULL;
 	struct ivi_layout_layer   *ivilayer = NULL;
-	struct hmi_controller_layer *application_layer =
-					wl_container_of(hmi_ctrl->application_layer_list.prev,
-							application_layer,
-							link);
-	const int32_t dstx = application_layer->x;
-	const int32_t dsty = application_layer->y;
-	const int32_t width  = application_layer->width;
-	const int32_t height = application_layer->height;
+	int32_t dstx;
+	int32_t dsty;
+	int32_t width;
+	int32_t height;
 	int32_t ret = 0;
 	int32_t i = 0;
 
@@ -940,7 +936,10 @@ ivi_hmi_controller_set_background(struct hmi_controller *hmi_ctrl,
 		uint32_t *add_surface_id = wl_array_add(&hmi_ctrl->ui_widgets,
 							sizeof(*add_surface_id));
 		*add_surface_id = id_surface + (i * hmi_ctrl->ui_setting.surface_id_offset);
-
+		dstx = base_layer->x;
+		dsty = base_layer->y;
+		width  = base_layer->width;
+		height = base_layer->height;
 		ivilayer = base_layer->ivilayer;
 
 		ivisurf = ivi_layout_interface->get_surface_from_id(*add_surface_id);
-- 
1.7.9.5



More information about the wayland-devel mailing list