[fusion-commits] Compiz mirror: Changes to 'master' (7615a9a84c510110b2c1440c5080ff68dd867eac)

compiz at server.opencompositing.org compiz at server.opencompositing.org
Mon Mar 17 10:43:09 CET 2008


New commits:
commit 7615a9a84c510110b2c1440c5080ff68dd867eac
Author: Danny Baumann <dannybaumann at web.de>
Date:   Mon Mar 17 10:38:50 2008 +0100

    Don't set mask in addWindowSizeChanges if the new geometry matches the old geometry.

commit b49188565692dc06b1fe777d18d0cb06db356dae
Author: Danny Baumann <dannybaumann at web.de>
Date:   Mon Mar 17 10:28:03 2008 +0100

    Don't send out sync request when nothing changed.

commit 44f1b44e2773febff19d7bb2fb30e88782a28637
Author: Danny Baumann <dannybaumann at web.de>
Date:   Mon Mar 17 10:22:38 2008 +0100

    Send sync request when changing window size due to updating window attributes.

commit 61f8473ed79d679f0c9dd068340b14ad964dda12
Author: Danny Baumann <dannybaumann at web.de>
Date:   Mon Mar 17 08:00:46 2008 +0100

    Adjust ConfigureRequest geometry for decoration size. Reference: https://bugs.freedesktop.org/show_bug.cgi?id=13589

commit 3bc13042b2f46395cbe6afb3efcbfc86d5f32b40
Author: Danny Baumann <dannybaumann at web.de>
Date:   Mon Mar 17 09:39:52 2008 +0100

    Don't send sync requests from reconfigureXWindow function.
    This is done on the caller side.
    Reference: http://bugs.opencompositing.org/show_bug.cgi?id=793


 src/window.c |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)


Modified: compiz/src/window.c
===================================================================
--- compiz/src/window.c
+++ compiz/src/window.c
@@ -3383,9 +3383,6 @@ reconfigureXWindow (CompWindow	   *w,
     if (valueMask & CWBorderWidth)
 	w->serverBorderWidth = xwc->border_width;
 
-    if (w->mapNum && (valueMask & (CWWidth | CWHeight)))
-	sendSyncRequest (w);
-
     XConfigureWindow (w->screen->display->display, w->id, valueMask, xwc);
 
     if (w->frame && (valueMask & (CWSibling | CWStackMode)))
@@ -3710,6 +3707,18 @@ addWindowSizeChanges (CompWindow     *w,
 	}
     }
 
+    if (xwc->x == oldX)
+	mask &= ~CWX;
+
+    if (xwc->y == oldY)
+	mask &= ~CWY;
+
+    if (xwc->width == oldWidth)
+	mask &= ~CWWidth;
+
+    if (xwc->height == oldHeight)
+	mask &= ~CWHeight;
+
     return mask;
 }
 
@@ -3757,6 +3766,13 @@ moveResizeWindow (CompWindow     *w,
     if (xwcm & (CWX | CWWidth))
     {
 	switch (gravity) {
+	case NorthWestGravity:
+	case WestGravity:
+	case SouthWestGravity:
+	    if (xwcm & CWX)
+		xwc->x += w->input.left;
+	    break;
+
 	case NorthGravity:
 	case CenterGravity:
 	case SouthGravity:
@@ -3784,6 +3800,13 @@ moveResizeWindow (CompWindow     *w,
     if (xwcm & (CWY | CWHeight))
     {
 	switch (gravity) {
+	case NorthWestGravity:
+	case NorthGravity:
+	case NorthEastGravity:
+	    if (xwcm & CWY)
+		xwc->y += w->input.top;
+	    break;
+
 	case WestGravity:
 	case CenterGravity:
 	case EastGravity:
@@ -4152,6 +4175,9 @@ updateWindowAttributes (CompWindow             *w,
 				  w->serverWidth, w->serverHeight,
 				  w->serverBorderWidth);
 
+    if (w->mapNum && (mask & (CWWidth | CWHeight)))
+	sendSyncRequest (w);
+
     if (mask)
 	configureXWindow (w, mask, &xwc);
 }


More information about the commits mailing list