summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Spilsbury <smspillaz@gmail.com>2010-02-11 20:12:06 +0800
committerSam Spilsbury <smspillaz@gmail.com>2010-02-11 20:12:06 +0800
commit5e4a1827ef635aa4e07a93b9fb14fe5ab361b312 (patch)
treeaa68a1d6615bc137d3512071155566c828393523 /src
parent402f06db6c5d262610d57e6948a9f335d6a5305a (diff)
downloadzcomp-5e4a1827ef635aa4e07a93b9fb14fe5ab361b312.tar.gz
zcomp-5e4a1827ef635aa4e07a93b9fb14fe5ab361b312.tar.bz2
Clients must specify position on _NET_MOVERESIZE_WINDOW ClientMessage
Only accept ConfigureRequest / _NET_MOVERESIZE_WINDOW ClientMessage events as placement if the application indicates that it wants to specify the window position. Forward port of 65ed618a5f36b795dbef69ba04ebde6b911d228c to master.
Diffstat (limited to 'src')
-rw-r--r--src/window.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/window.cpp b/src/window.cpp
index e5a6ca7..34bdca9 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -2793,9 +2793,13 @@ CompWindow::moveResize (XWindowChanges *xwc,
int gravity,
unsigned int source)
{
- bool placed = xwcm & (CWX | CWY);
+ bool placed = false;
xwcm &= (CWX | CWY | CWWidth | CWHeight | CWBorderWidth);
+
+ if (xwcm & (CWX | CWY))
+ if (priv->sizeHints.flags & (USPosition | PPosition))
+ placed = true;
if (gravity == 0)
gravity = priv->sizeHints.win_gravity;