Fix window picking order

dev
Kristian Høgsberg 15 years ago
parent f252d6a98e
commit 747638b46b
  1. 6
      compositor.c
  2. 5
      wayland-util.h

@ -335,7 +335,7 @@ wlsc_surface_raise(struct wlsc_surface *surface)
struct wlsc_compositor *compositor = surface->compositor;
wl_list_remove(&surface->link);
wl_list_insert(compositor->surface_list.prev, &surface->link);
wl_list_insert(&compositor->surface_list, &surface->link);
}
static void
@ -344,7 +344,7 @@ wlsc_surface_lower(struct wlsc_surface *surface)
struct wlsc_compositor *compositor = surface->compositor;
wl_list_remove(&surface->link);
wl_list_insert(&compositor->surface_list, &surface->link);
wl_list_insert(compositor->surface_list.prev, &surface->link);
}
void
@ -372,7 +372,7 @@ wlsc_output_repaint(struct wlsc_output *output)
else
glClear(GL_COLOR_BUFFER_BIT);
wl_list_for_each(es, &ec->surface_list, link)
wl_list_for_each_reverse(es, &ec->surface_list, link)
wlsc_surface_draw(es, output);
if (ec->focus)

@ -98,6 +98,11 @@ int wl_list_empty(struct wl_list *list);
&pos->member != (head); \
pos = __container_of(pos->member.next, pos, member))
#define wl_list_for_each_reverse(pos, head, member) \
for (pos = __container_of((head)->prev, pos, member); \
&pos->member != (head); \
pos = __container_of(pos->member.prev, pos, member))
struct wl_array {
uint32_t size;
uint32_t alloc;

Loading…
Cancel
Save