summaryrefslogtreecommitdiff
path: root/src/shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shell.c')
-rw-r--r--src/shell.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/shell.c b/src/shell.c
index cf94e8e..9219699 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -952,6 +952,7 @@ activate(struct weston_shell *base, struct weston_surface *es,
{
struct wl_shell *shell = container_of(base, struct wl_shell, shell);
struct weston_compositor *compositor = shell->compositor;
+ struct wl_list *list;
weston_surface_activate(es, device, time);
@@ -977,12 +978,13 @@ activate(struct weston_shell *base, struct weston_surface *es,
break;
default:
if (!shell->locked) {
+ list = weston_compositor_top(compositor);
+
/* bring panel back to top */
struct shell_surface *panel;
wl_list_for_each(panel, &shell->panels, link) {
wl_list_remove(&panel->surface->link);
- wl_list_insert(&compositor->surface_list,
- &panel->surface->link);
+ wl_list_insert(list, &panel->surface->link);
}
}
}
@@ -1119,7 +1121,7 @@ map(struct weston_shell *base,
list = &shell->hidden_surface_list;
do_configure = 0;
} else {
- list = &compositor->surface_list;
+ list = weston_compositor_top(compositor);
do_configure = 1;
}