[Development] Fetch root window pointer directly from pScreen if possible.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4090 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index 5971077..ba7ccf7 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -765,8 +765,14 @@
   region.get_rects(&rects);
   for (i = rects.begin(); i != rects.end(); i++) {
     for (int y = i->tl.y; y < i->br.y; y++) {
-      (*pScreen->GetImage) ((DrawablePtr)WindowTable[pScreen->myNum],
-                            i->tl.x, y, i->width(), 1,
+      DrawablePtr pDrawable;
+#if XORG < 19
+      pDrawable = (DrawablePtr) WindowTable[pScreen->myNum];
+#else
+      pDrawable = (DrawablePtr) pScreen->root;
+#endif
+
+      (*pScreen->GetImage) (pDrawable, i->tl.x, y, i->width(), 1,
                             ZPixmap, (unsigned long)~0L,
                             ((char*)data
                              + y * bytesPerRow + i->tl.x * bytesPerPixel));
diff --git a/unix/xserver/hw/vnc/xvnc.cc b/unix/xserver/hw/vnc/xvnc.cc
index af35f25..a6f27b3 100644
--- a/unix/xserver/hw/vnc/xvnc.cc
+++ b/unix/xserver/hw/vnc/xvnc.cc
@@ -878,7 +878,11 @@
 static void
 xf86SetRootClip (ScreenPtr pScreen, Bool enable)
 {
+#if XORG < 19
     WindowPtr	pWin = WindowTable[pScreen->myNum];
+#else
+    WindowPtr	pWin = pScreen->root;
+#endif
     WindowPtr	pChild;
     Bool	WasViewable = (Bool)(pWin->viewable);
     Bool	anyMarked = FALSE;