summaryrefslogtreecommitdiff
path: root/miext/rootless/rootlessWindow.c
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2015-06-02 13:58:30 -0400
committerAdam Jackson <ajax@redhat.com>2015-07-08 16:41:28 -0400
commitcbd3cfbad3f07b20e90ea9498110f255813eb441 (patch)
tree18ea660c0d607e33d059f262d68e562c9771fc12 /miext/rootless/rootlessWindow.c
parent74d64ceea02bffad1caf3d1a727edbd38d968059 (diff)
dix: Restore PaintWindow screen hook
Removes the last cpp conditional on ROOTLESS from dix code. Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'miext/rootless/rootlessWindow.c')
-rw-r--r--miext/rootless/rootlessWindow.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c
index 3240acce5..e3042990c 100644
--- a/miext/rootless/rootlessWindow.c
+++ b/miext/rootless/rootlessWindow.c
@@ -720,7 +720,7 @@ RootlessResizeCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
/*
* RootlessCopyWindow
* Update *new* location of window. Old location is redrawn with
- * miPaintWindow. Cloned from fbCopyWindow.
+ * PaintWindow. Cloned from fbCopyWindow.
* The original always draws on the root pixmap, which we don't have.
* Instead, draw on the parent window's pixmap.
*/
@@ -794,6 +794,27 @@ RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
RL_DEBUG_MSG("copywindowFB end\n");
}
+void
+RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+{
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+
+ if (IsFramedWindow(pWin)) {
+ RootlessStartDrawing(pWin);
+ RootlessDamageRegion(pWin, prgn);
+
+ if (pWin->backgroundState == ParentRelative) {
+ if ((what == PW_BACKGROUND) ||
+ (what == PW_BORDER && !pWin->borderIsPixel))
+ RootlessSetPixmapOfAncestors(pWin);
+ }
+ }
+
+ SCREEN_UNWRAP(pScreen, PaintWindow);
+ pScreen->PaintWindow(pWin, prgn, what);
+ SCREEN_WRAP(pScreen, PaintWindow);
+}
+
/*
* Window resize procedures
*/