[PATCH 37/37] composite: Update paintable state when bs'ing windows

Adam Jackson ajax at redhat.com
Wed Oct 8 08:05:01 PDT 2014


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

diff --git a/composite/compinit.c b/composite/compinit.c
index 954abd3..be05aec 100644
--- a/composite/compinit.c
+++ b/composite/compinit.c
@@ -105,6 +105,12 @@ compInstallColormap(ColormapPtr pColormap)
 }
 
 static void
+compCheckPaintable(WindowPtr pWin)
+{
+    pWin->paintable = pWin->viewable || pWin->backingStore == Always;
+}
+
+static void
 compCheckBackingStore(WindowPtr pWin)
 {
     Bool should =
@@ -112,10 +118,12 @@ compCheckBackingStore(WindowPtr pWin)
         (pWin->backingStore == WhenMapped && pWin->viewable);
 
     if (should && !pWin->backStorage) {
+        compCheckPaintable(pWin);
         compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
         pWin->backStorage = TRUE;
     }
     else if (!should && pWin->backStorage) {
+        compCheckPaintable(pWin);
         compUnredirectWindow(serverClient, pWin,
                              CompositeRedirectAutomatic);
         pWin->backStorage = FALSE;
-- 
1.9.3



More information about the xorg-devel mailing list