summaryrefslogtreecommitdiff
path: root/desktop-shell/input-panel.c
diff options
context:
space:
mode:
authorGiulio Camuffo <giuliocamuffo@gmail.com>2014-07-09 22:12:56 +0300
committerJason Ekstrand <jason.ekstrand@intel.com>2014-07-23 12:34:33 -0700
commit412e6a59eb90da5b29226e0b32f4a1a8e21c6500 (patch)
tree656c515d17dcc9308bc6100719a320a60c55b5ac /desktop-shell/input-panel.c
parentcfff3122046b346f0b47b6f7dfbbdf62352cfe61 (diff)
downloadweston-412e6a59eb90da5b29226e0b32f4a1a8e21c6500.tar.gz
compositor: keep track of the weston_layer a weston_view is in
This introduces a new struct, weston_layer_entry, which is now used in place of wl_list to keep the link for the layer list in weston_view and the head of the list in weston_layer. weston_layer_entry also has a weston_layer*, which points to the layer the view is in or, in the case the entry it's the head of the list, to the layer itself.
Diffstat (limited to 'desktop-shell/input-panel.c')
-rw-r--r--desktop-shell/input-panel.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c
index 7623f6cb..47bd73c1 100644
--- a/desktop-shell/input-panel.c
+++ b/desktop-shell/input-panel.c
@@ -75,8 +75,8 @@ show_input_panel_surface(struct input_panel_surface *ipsurf)
weston_view_set_position(ipsurf->view, x, y);
}
- wl_list_insert(&shell->input_panel_layer.view_list,
- &ipsurf->view->layer_link);
+ weston_layer_entry_insert(&shell->input_panel_layer.view_list,
+ &ipsurf->view->layer_link);
weston_view_geometry_dirty(ipsurf->view);
weston_view_update_transform(ipsurf->view);
weston_surface_damage(ipsurf->surface);
@@ -135,7 +135,8 @@ hide_input_panels(struct wl_listener *listener, void *data)
wl_list_remove(&shell->input_panel_layer.link);
wl_list_for_each_safe(view, next,
- &shell->input_panel_layer.view_list, layer_link)
+ &shell->input_panel_layer.view_list.link,
+ layer_link.link)
weston_view_unmap(view);
}