aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop/idle_inhibit_v1.c
diff options
context:
space:
mode:
authorMarien Zwart <marienz@google.com>2018-09-16 23:20:58 +1000
committerMarien Zwart <marienz@google.com>2018-09-16 23:20:58 +1000
commitffd1308bbc494a6dab5344fa871287279f56bf18 (patch)
tree5e6e36a9f7ca8bf6a9fb42f1c2f3ad223b86151f /sway/desktop/idle_inhibit_v1.c
parent31c6b5814f8725feb17f7819ea6951cf2c198327 (diff)
Fix crash when destroying an idle-inhibiting client
When destroying an idle-inhibiting client, idle_inhibit_v1_check_active can get called from transaction_progress_queue on a view with a null container. view_is_visible does not handle a view in this state.
Diffstat (limited to 'sway/desktop/idle_inhibit_v1.c')
-rw-r--r--sway/desktop/idle_inhibit_v1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sway/desktop/idle_inhibit_v1.c b/sway/desktop/idle_inhibit_v1.c
index da17d0f2..17d4242b 100644
--- a/sway/desktop/idle_inhibit_v1.c
+++ b/sway/desktop/idle_inhibit_v1.c
@@ -44,7 +44,7 @@ void idle_inhibit_v1_check_active(
struct sway_idle_inhibitor_v1 *inhibitor;
bool inhibited = false;
wl_list_for_each(inhibitor, &manager->inhibitors, link) {
- if (!inhibitor->view) {
+ if (!inhibitor->view || !inhibitor->view->container) {
/* Cannot guess if view is visible so assume it is */
inhibited = true;
break;