[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