ivi-shell: simplify ivi_layout_remove_surface
It is not necessary check the ivi-id of pregiven objects (layer or surface). Traversing the list of all objects is sure to find the exact same pointer we start with, bugs aside. The controller modules are responsible for providing valid pointers. We cannot protect from invalid pointers anyway. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com> [Pekka: commit message] Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
5cbf1e8146
commit
536d833515
@ -2214,22 +2214,13 @@ static void
|
||||
ivi_layout_layer_remove_surface(struct ivi_layout_layer *ivilayer,
|
||||
struct ivi_layout_surface *remsurf)
|
||||
{
|
||||
struct ivi_layout_surface *ivisurf = NULL;
|
||||
struct ivi_layout_surface *next = NULL;
|
||||
|
||||
if (ivilayer == NULL || remsurf == NULL) {
|
||||
weston_log("ivi_layout_layer_remove_surface: invalid argument\n");
|
||||
return;
|
||||
}
|
||||
|
||||
wl_list_for_each_safe(ivisurf, next,
|
||||
&ivilayer->pending.surface_list, pending.link) {
|
||||
if (ivisurf->id_surface == remsurf->id_surface) {
|
||||
wl_list_remove(&ivisurf->pending.link);
|
||||
wl_list_init(&ivisurf->pending.link);
|
||||
break;
|
||||
}
|
||||
}
|
||||
wl_list_remove(&remsurf->pending.link);
|
||||
wl_list_init(&remsurf->pending.link);
|
||||
|
||||
ivilayer->order.dirty = 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user