diff options
author | Emre Ucan <eucan@de.adit-jv.com> | 2016-02-26 15:04:14 +0100 |
---|---|---|
committer | Eugen Friedrich <efriedrich@de.adit-jv.com> | 2016-03-04 09:59:55 +0100 |
commit | 796929bf117af635d986ce72381ae9f56c6ab5d1 (patch) | |
tree | 72bfb980594fd4db45f81a05d3ce1d5f5bab64ef /weston-ivi-shell/src | |
parent | 926bbe2c0b8e4158cb051edf6f8746fafa9872bf (diff) | |
download | wayland-ivi-extension-796929bf117af635d986ce72381ae9f56c6ab5d1.tar.gz |
ivi-controller: simplify get_layers function
Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
Diffstat (limited to 'weston-ivi-shell/src')
-rw-r--r-- | weston-ivi-shell/src/ivi-controller-impl.c | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/weston-ivi-shell/src/ivi-controller-impl.c b/weston-ivi-shell/src/ivi-controller-impl.c index 88768cb..c16276f 100644 --- a/weston-ivi-shell/src/ivi-controller-impl.c +++ b/weston-ivi-shell/src/ivi-controller-impl.c @@ -125,14 +125,12 @@ get_surface(struct wl_list *list_surf, struct ivi_layout_surface *layout_surface } static struct ivilayer* -get_layer(struct wl_list *list_layer, uint32_t id_layer) +get_layer(struct wl_list *list_layer, struct ivi_layout_layer *layout_layer) { struct ivilayer *ivilayer = NULL; - uint32_t ivilayer_id = 0; wl_list_for_each(ivilayer, list_layer, link) { - ivilayer_id = ivi_extension_get_id_of_layer(ivilayer->shell, ivilayer->layout_layer); - if (ivilayer_id == id_layer) { + if (layout_layer == ivilayer->layout_layer) { return ivilayer; } } @@ -998,21 +996,21 @@ controller_layer_create(struct wl_client *client, struct ivilayer *ivilayer = NULL; const struct ivi_layout_layer_properties *prop; - ivilayer = get_layer(&shell->list_layer, id_layer); - if (ivilayer == NULL) { + layout_layer = ivi_extension_get_layer_from_id(shell, id_layer); + if (layout_layer == NULL) { layout_layer = ivi_extension_layer_create_with_dimension(shell, id_layer, (uint32_t)width, (uint32_t)height); if (layout_layer == NULL) { weston_log("id_layer is already created\n"); return; } + } - /* ivilayer will be created by layer_event_create */ - ivilayer = get_layer(&shell->list_layer, id_layer); - if (ivilayer == NULL) { - weston_log("couldn't get layer object\n"); - return; - } + /* ivilayer will be created by layer_event_create */ + ivilayer = get_layer(&shell->list_layer, layout_layer); + if (ivilayer == NULL) { + weston_log("couldn't get layer object\n"); + return; } layer_resource = wl_resource_create(client, @@ -1198,12 +1196,6 @@ create_layer(struct ivishell *shell, struct ivilayer *ivilayer = NULL; struct ivicontroller *controller = NULL; - ivilayer = get_layer(&shell->list_layer, id_layer); - if (ivilayer != NULL) { - weston_log("id_layer is already created\n"); - return NULL; - } - ivilayer = calloc(1, sizeof *ivilayer); if (NULL == ivilayer) { weston_log("no memory to allocate client layer\n"); @@ -1278,11 +1270,8 @@ layer_event_remove(struct ivi_layout_layer *layout_layer, struct wl_resource *resource; struct ivishell *shell = userdata; struct ivilayer *ivilayer = NULL; - uint32_t id_layer = 0; - - id_layer = ivi_extension_get_id_of_layer(shell, layout_layer); - ivilayer = get_layer(&shell->list_layer, id_layer); + ivilayer = get_layer(&shell->list_layer, layout_layer); if (ivilayer == NULL) { weston_log("id_surface is not created yet\n"); return; |