summaryrefslogtreecommitdiff
path: root/src/events.c
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan@xfce.org>2019-01-10 08:59:48 +0100
committerOlivier Fourdan <fourdan@xfce.org>2019-01-10 09:06:04 +0100
commit3751c2c716714f84dd3d527b60f3543e96fac54e (patch)
tree3e7b838e24082f0ed79758e865175a470aad186b /src/events.c
parentd0c4b9578c92b00fcdcf9d4bfec7b24b3b5c37be (diff)
downloadxfwm4-3751c2c716714f84dd3d527b60f3543e96fac54e.tar.gz
events: ignore client configure requests when maxized
Bug: 13954 Some clients tend to send us a configure request when transitioning to maximized, which introduces a race condition because the window manager will remove the maximized flag when the client resizes itself, now that we allow for that since commit aee8b25a. Ignore the configure request from the client when maximized or fullscreen to work around such behavior from the client. Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
Diffstat (limited to 'src/events.c')
-rw-r--r--src/events.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/events.c b/src/events.c
index ccd820d2b..ecc15737f 100644
--- a/src/events.c
+++ b/src/events.c
@@ -1360,10 +1360,14 @@ handleConfigureRequest (DisplayInfo *display_info, XConfigureRequestEvent * ev)
ev->value_mask &= ~(CWSibling | CWStackMode);
}
}
+
if (c)
{
TRACE ("window \"%s\" (0x%lx)", c->name, c->window);
- if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING))
+ if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING)
+ || FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
+ || (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (c->screen_info->params->borderless_maximize)))
{
/* Sorry, but it's not the right time for configure request */
return EVENT_FILTER_REMOVE;