rendered paste bodydiff --git a/src/event.c b/src/event.c
index 17dc978..cbf12ba 100644
--- a/src/event.c
+++ b/src/event.c
@@ -1932,10 +1932,20 @@ handleEvent (CompDisplay *d,
moveResizeWindow (w, &xwc, event->xconfigurerequest.value_mask, 0);
+ printf("ConfigureRequest for %d (%s), mask %x, coords %d %d %d %d, sibling %d, detail %d\n",
+ w->id, w->resName, event->xconfigurerequest.value_mask, xwc.x, xwc.y, xwc.width,
+ xwc.height, event->xconfigurerequest.above, event->xconfigurerequest.detail);
+
if (event->xconfigurerequest.value_mask & CWStackMode)
{
- Window above = event->xconfigure.above;
- CompWindow *sibling = findWindowAtDisplay (d, above);
+ Window above = None;
+ CompWindow *sibling = NULL;
+
+ if (event->xconfigurerequest.value_mask & CWSibling)
+ {
+ above = event->xconfigurerequest.above;
+ sibling = findTopLevelWindowAtDisplay (d, above);
+ }
switch (event->xconfigurerequest.detail) {
case Above:
diff --git a/src/window.c b/src/window.c
index bbcdbeb..96a1297 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3166,6 +3166,7 @@ findLowestSiblingBelow (CompWindow *w)
switch (type) {
case CompWindowTypeDesktopMask:
/* desktop window layer */
+ return NULL;
break;
case CompWindowTypeFullscreenMask:
case CompWindowTypeDockMask: