summaryrefslogtreecommitdiff
path: root/ivi-shell
diff options
context:
space:
mode:
authorUcan, Emre (ADITG/SW1) <eucan@de.adit-jv.com>2016-03-17 14:36:52 +0000
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2016-03-18 12:42:50 +0200
commitc6459c495dbfad84b9516d4558304501da86710e (patch)
treeb8e83e4379e39895d9ad50f7eb37078097ff17d3 /ivi-shell
parent783cb4dcfef5eb0822460107e6d9eff0bd2e2f7c (diff)
downloadweston-c6459c495dbfad84b9516d4558304501da86710e.tar.gz
hmi-controller: fix wrong panel width
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@de.adit-jv.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'ivi-shell')
-rw-r--r--ivi-shell/hmi-controller.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
index e8fcf137..e9c9ab04 100644
--- a/ivi-shell/hmi-controller.c
+++ b/ivi-shell/hmi-controller.c
@@ -961,12 +961,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;
@@ -986,6 +983,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);