[PATCH 35/37] composite: Always try to realize bs for bs-always windows

Adam Jackson ajax at redhat.com
Wed Oct 8 08:04:59 PDT 2014


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

diff --git a/composite/compinit.c b/composite/compinit.c
index 7daf171..954abd3 100644
--- a/composite/compinit.c
+++ b/composite/compinit.c
@@ -107,11 +107,15 @@ compInstallColormap(ColormapPtr pColormap)
 static void
 compCheckBackingStore(WindowPtr pWin)
 {
-    if (pWin->backingStore != NotUseful && !pWin->backStorage) {
+    Bool should =
+        (pWin->backingStore == Always) ||
+        (pWin->backingStore == WhenMapped && pWin->viewable);
+
+    if (should && !pWin->backStorage) {
         compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
         pWin->backStorage = TRUE;
     }
-    else if (pWin->backingStore == NotUseful && pWin->backStorage) {
+    else if (!should && pWin->backStorage) {
         compUnredirectWindow(serverClient, pWin,
                              CompositeRedirectAutomatic);
         pWin->backStorage = FALSE;
-- 
1.9.3



More information about the xorg-devel mailing list