summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Spilsbury <sam.spilsbury@canonical.com>2011-09-29 23:06:50 +0800
committerSam Spilsbury <sam.spilsbury@canonical.com>2011-09-29 23:06:50 +0800
commit2eb4a250a9459877e8f4e4a70e0a69c1f6810e24 (patch)
treedf4b86afc326725e14194d0d815e88eba95599cc
parentf5b0da5c10659fc147cb61f129d089c3fd196d45 (diff)
downloadcore-2eb4a250a9459877e8f4e4a70e0a69c1f6810e24.tar.gz
core-2eb4a250a9459877e8f4e4a70e0a69c1f6810e24.tar.bz2
Fix LP #861909 , check if w->prev is valid
-rw-r--r--src/window.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/window.cpp b/src/window.cpp
index ce0c22c..2eef8cc 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -2033,8 +2033,16 @@ PrivateWindow::configureFrame (XConfigureEvent *ce)
if (priv->frameGeometry.border () != ce->border_width)
valueMask |= CWBorderWidth;
- if (ROOTPARENT (window->prev) != ce->above)
- valueMask |= CWSibling | CWStackMode;
+ if (window->prev)
+ {
+ if (ROOTPARENT (window->prev) != ce->above)
+ valueMask |= CWSibling | CWStackMode;
+ }
+ else
+ {
+ if (ce->above != 0)
+ valueMask |= CWSibling | CWStackMode;
+ }
for (std::list <XWCValueMask>::iterator it = pendingConfigures.begin ();
it != pendingConfigures.end (); it++)