From dc35b11619b023b5d4c3376aaef8e59fffcfbbd9 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 90612f3..59f20e7 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(desk->zone->comp, 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(desk->zone->comp, 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 */