Fix window picking order
This commit is contained in:
+3
-3
@@ -335,7 +335,7 @@ wlsc_surface_raise(struct wlsc_surface *surface)
|
|||||||
struct wlsc_compositor *compositor = surface->compositor;
|
struct wlsc_compositor *compositor = surface->compositor;
|
||||||
|
|
||||||
wl_list_remove(&surface->link);
|
wl_list_remove(&surface->link);
|
||||||
wl_list_insert(compositor->surface_list.prev, &surface->link);
|
wl_list_insert(&compositor->surface_list, &surface->link);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -344,7 +344,7 @@ wlsc_surface_lower(struct wlsc_surface *surface)
|
|||||||
struct wlsc_compositor *compositor = surface->compositor;
|
struct wlsc_compositor *compositor = surface->compositor;
|
||||||
|
|
||||||
wl_list_remove(&surface->link);
|
wl_list_remove(&surface->link);
|
||||||
wl_list_insert(&compositor->surface_list, &surface->link);
|
wl_list_insert(compositor->surface_list.prev, &surface->link);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -372,7 +372,7 @@ wlsc_output_repaint(struct wlsc_output *output)
|
|||||||
else
|
else
|
||||||
glClear(GL_COLOR_BUFFER_BIT);
|
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);
|
wlsc_surface_draw(es, output);
|
||||||
|
|
||||||
if (ec->focus)
|
if (ec->focus)
|
||||||
|
|||||||
@@ -98,6 +98,11 @@ int wl_list_empty(struct wl_list *list);
|
|||||||
&pos->member != (head); \
|
&pos->member != (head); \
|
||||||
pos = __container_of(pos->member.next, pos, member))
|
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 {
|
struct wl_array {
|
||||||
uint32_t size;
|
uint32_t size;
|
||||||
uint32_t alloc;
|
uint32_t alloc;
|
||||||
|
|||||||
Reference in New Issue
Block a user