Merge pull request #2660 from RyanDwyer/fix-scratchpad-iteration

Fix double iteration of scratchpad containers
This commit is contained in:
emersion 2018-09-22 13:40:01 +02:00 committed by GitHub
commit eae42606e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -265,10 +265,10 @@ void root_for_each_container(void (*f)(struct sway_container *con, void *data),
// Scratchpad // Scratchpad
for (int i = 0; i < root->scratchpad->length; ++i) { for (int i = 0; i < root->scratchpad->length; ++i) {
struct sway_container *container = root->scratchpad->items[i]; struct sway_container *container = root->scratchpad->items[i];
// If the container has a parent then it's visible on a workspace // If the container has a workspace then it's visible on a workspace
// and will have been iterated in the previous for loop. So we only // and will have been iterated in the previous for loop. So we only
// iterate the hidden scratchpad containers here. // iterate the hidden scratchpad containers here.
if (!container->parent) { if (!container->workspace) {
f(container, data); f(container, data);
container_for_each_child(container, f, data); container_for_each_child(container, f, data);
} }
@ -311,7 +311,7 @@ struct sway_container *root_find_container(
// Scratchpad // Scratchpad
for (int i = 0; i < root->scratchpad->length; ++i) { for (int i = 0; i < root->scratchpad->length; ++i) {
struct sway_container *container = root->scratchpad->items[i]; struct sway_container *container = root->scratchpad->items[i];
if (!container->parent) { if (!container->workspace) {
if (test(container, data)) { if (test(container, data)) {
return container; return container;
} }