also check floating cons in container_find

master
D.B 8 years ago
parent 6446e4409f
commit 24c3b86065

@ -727,14 +727,29 @@ swayc_t *container_find(swayc_t *container, bool (*f)(swayc_t *, const void *),
return NULL; return NULL;
} }
swayc_t *con;
if (container->type == C_WORKSPACE) {
for (int i = 0; i < container->floating->length; ++i) {
con = container->floating->items[i];
if (f(con, data)) {
return con;
}
con = container_find(con, f, data);
if (con != NULL) {
return con;
}
}
}
for (int i = 0; i < container->children->length; ++i) { for (int i = 0; i < container->children->length; ++i) {
if (f(container->children->items[i], data)) { con = container->children->items[i];
return container->children->items[i]; if (f(con, data)) {
return con;
} }
swayc_t *find = container_find(container->children->items[i], f, data); con = container_find(con, f, data);
if (find != NULL) { if (con != NULL) {
return find; return con;
} }
} }

Loading…
Cancel
Save