diff options
author | Marien Zwart <marienz@google.com> | 2018-09-16 23:20:58 +1000 |
---|---|---|
committer | Marien Zwart <marienz@google.com> | 2018-09-16 23:20:58 +1000 |
commit | ffd1308bbc494a6dab5344fa871287279f56bf18 (patch) | |
tree | 5e6e36a9f7ca8bf6a9fb42f1c2f3ad223b86151f /sway/desktop/idle_inhibit_v1.c | |
parent | 31c6b5814f8725feb17f7819ea6951cf2c198327 (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.c | 2 |
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; |