aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/focus.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sway/focus.c b/sway/focus.c
index 7af858a1..0703ffb6 100644
--- a/sway/focus.c
+++ b/sway/focus.c
@@ -15,6 +15,7 @@ bool locked_view_focus = false;
static void update_focus(swayc_t *c) {
// Handle if focus switches
swayc_t *parent = c->parent;
+ if (!parent) return;
if (parent->focused != c) {
// Get previous focus
swayc_t *prev = parent->focused;
@@ -87,7 +88,7 @@ swayc_t *get_focused_container(swayc_t *parent) {
}
bool set_focused_container(swayc_t *c) {
- if (locked_container_focus || !c) {
+ if (locked_container_focus || !c || !c->visible || !c->parent) {
return false;
}
swayc_log(L_DEBUG, c, "Setting focus to %p:%ld", c, c->handle);