[PATCH 3/3] composite: Don't double-redirect if someone asks for backing store twice

Adam Jackson ajax at redhat.com
Thu Sep 12 09:04:15 PDT 2013


Signed-off-by: Adam Jackson <ajax at redhat.com>
---
 composite/compinit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/composite/compinit.c b/composite/compinit.c
index 2001c8a..7f8d7cb 100644
--- a/composite/compinit.c
+++ b/composite/compinit.c
@@ -116,10 +116,10 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned long mask)
     ret = pScreen->ChangeWindowAttributes(pWin, mask);
 
     if (ret && (mask & CWBackingStore)) {
-        if (pWin->backingStore != NotUseful) {
+        if (pWin->backingStore != NotUseful && !pWin->backStorage) {
             compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
             pWin->backStorage = (pointer) (intptr_t) 1;
-        } else {
+        } else if (pWin->backStorage) {
             compUnredirectWindow(serverClient, pWin,
                                  CompositeRedirectAutomatic);
             pWin->backStorage = NULL;
-- 
1.8.3.1



More information about the xorg-devel mailing list