[Xfce4-commits] r26272 - xfwm4/branches/xfce_4_4/src
Olivier Fourdan
olivier at xfce.org
Wed Nov 7 22:52:03 CET 2007
Author: olivier
Date: 2007-11-07 21:52:03 +0000 (Wed, 07 Nov 2007)
New Revision: 26272
Modified:
xfwm4/branches/xfce_4_4/src/client.c
Log:
Apply a patch from Andreas Lampersperger <lampersperger.andreas at heidenhain.de> to improve ICCCM compliance regarding synthetic ConfigureNotify event (Bug #3610)
Modified: xfwm4/branches/xfce_4_4/src/client.c
===================================================================
--- xfwm4/branches/xfce_4_4/src/client.c 2007-11-07 20:22:20 UTC (rev 26271)
+++ xfwm4/branches/xfce_4_4/src/client.c 2007-11-07 21:52:03 UTC (rev 26272)
@@ -683,6 +683,11 @@
TRACE ("configuring client \"%s\" (0x%lx) %s, type %u", c->name,
c->window, flags & CFG_CONSTRAINED ? "constrained" : "not contrained", c->type);
+ px = c->x;
+ py = c->y;
+ pwidth = c->width;
+ pheight = c->height;
+
if (mask & CWX)
{
if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MOVING_RESIZING))
@@ -757,11 +762,6 @@
&& CONSTRAINED_WINDOW (c)
&& !((c->gravity == StaticGravity) && (c->x == 0) && (c->y == 0)))
{
- px = c->x;
- py = c->y;
- pwidth = c->width;
- pheight = c->height;
-
/* Keep fully visible only on resize */
clientConstrainPos (c, (mask & (CWWidth | CWHeight)));
@@ -769,25 +769,42 @@
{
mask |= CWX;
}
+ else
+ {
+ mask &= ~CWX;
+ }
+
if (c->y != py)
{
mask |= CWY;
}
+ else
+ {
+ mask &= ~CWY;
+ }
if (c->width != pwidth)
{
mask |= CWWidth;
}
+ else
+ {
+ mask &= ~CWWidth;
+ }
if (c->height != pheight)
{
mask |= CWHeight;
}
+ else
+ {
+ mask &= ~CWHeight;
+ }
}
clientConfigureWindows (c, wc, mask, flags);
/*
- We reparent to client window. According to the ICCCM spec, the
+ We reparent the client window. According to the ICCCM spec, the
WM must send a senthetic event when the window is moved and not resized.
But, since we reparent the window, we must also send a synthetic
More information about the Xfce4-commits
mailing list