From 568ee43e6f4e8a1873f3820593dc9c71b72fd15d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 7 Sep 2015 10:19:30 -0400 Subject: [PATCH] reorder ds client iterator filter to catch override clients before ec->desk deref ref D3024 and @Samis2001 --- src/desksanity.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/desksanity.c b/src/desksanity.c index 6c61566..ca60fef 100644 --- a/src/desksanity.c +++ b/src/desksanity.c @@ -72,7 +72,7 @@ _ds_show(E_Desk *desk, int dx, int dy) E_CLIENT_FOREACH(ec) { /* skip clients from other screens, iconic clients, and ignorable clients */ - if ((ec->desk->zone != desk->zone) || (ec->iconic) || e_client_util_ignored_get(ec)) continue; + if (e_client_util_ignored_get(ec) || (ec->desk->zone != desk->zone) || (ec->iconic)) continue; /* always keep user-moving clients visible */ if (ec->moving) { @@ -397,7 +397,7 @@ _ds_hide(E_Desk *desk) E_CLIENT_FOREACH(ec) { /* same as above */ - if ((ec->desk->zone != desk->zone) || (ec->iconic) || e_client_util_ignored_get(ec)) continue; + if (e_client_util_ignored_get(ec) || (ec->desk->zone != desk->zone) || (ec->iconic)) continue; if (ec->moving) continue; if ((ec->desk != desk) || (ec->sticky)) continue; /* comp hide clients */