}
}
+ m->sticky_count += sticky_count(n);
+
propagate_flags_upward(m, d, n);
if (d->focus == NULL && is_focusable(n)) {
node_t *p = n->parent;
+ if (m->sticky_count > 0) {
+ m->sticky_count -= sticky_count(n);
+ }
+
if (p == NULL) {
d->root = NULL;
d->focus = NULL;
history_remove(d, p, false);
cancel_presel(m, d, p);
+
if (p->sticky) {
m->sticky_count--;
}
history_remove(d, n, true);
remove_stack_node(n);
cancel_presel_in(m, d, n);
- if (m->sticky_count > 0) {
- m->sticky_count -= sticky_count(n);
- }
clients_count -= clients_count_in(n);
if (is_descendant(grabbed_node, n)) {
grabbed_node = NULL;