Removed IRIX/Solaris overlay support

Legacy systems.
diff --git a/unix/x0vncserver/Image.cxx b/unix/x0vncserver/Image.cxx
index 7bb2328..ca3d642 100644
--- a/unix/x0vncserver/Image.cxx
+++ b/unix/x0vncserver/Image.cxx
@@ -319,181 +319,14 @@
   XGetSubImage(dpy, wnd, x, y, w, h, AllPlanes, ZPixmap, xim, dst_x, dst_y);
 }
 
-#ifdef HAVE_READDISPLAY
-
-//
-// IrixOverlayShmImage class implementation.
-//
-
-IrixOverlayShmImage::IrixOverlayShmImage(Display *d)
-  : ShmImage(d), readDisplayBuf(NULL)
-{
-}
-
-IrixOverlayShmImage::IrixOverlayShmImage(Display *d, int width, int height)
-  : ShmImage(d), readDisplayBuf(NULL)
-{
-  Init(width, height);
-}
-
-void IrixOverlayShmImage::Init(int width, int height)
-{
-  // First determine the pixel format used by XReadDisplay.
-  XVisualInfo vinfo;
-  if (!getOverlayVisualInfo(&vinfo))
-    return;
-
-  // Create an SHM image of the same format.
-  ShmImage::Init(width, height, &vinfo);
-  if (xim == NULL)
-    return;
-
-  // FIXME: Check if the extension is available at run time.
-  readDisplayBuf = XShmCreateReadDisplayBuf(dpy, NULL, shminfo, width, height);
-}
-
-bool IrixOverlayShmImage::getOverlayVisualInfo(XVisualInfo *vinfo_ret)
-{
-  // First, get an image in the format returned by XReadDisplay.
-  unsigned long hints = 0, hints_ret;
-  XImage *testImage = XReadDisplay(dpy, DefaultRootWindow(dpy),
-				   0, 0, 8, 8, hints, &hints_ret);
-  if (testImage == NULL)
-    return false;
-
-  // Fill in a template for matching visuals.
-  XVisualInfo tmpl;
-  tmpl.c_class = TrueColor;
-  tmpl.depth = 24;
-  tmpl.red_mask = testImage->red_mask;
-  tmpl.green_mask = testImage->green_mask;
-  tmpl.blue_mask = testImage->blue_mask;
-
-  // List fields in template that make sense.
-  long mask = (VisualClassMask |
-	       VisualRedMaskMask |
-	       VisualGreenMaskMask |
-	       VisualBlueMaskMask);
-
-  // We don't need that image any more.
-  XDestroyImage(testImage);
-
-  // Now, get a list of matching visuals available.
-  int nVisuals;
-  XVisualInfo *vinfo = XGetVisualInfo(dpy, mask, &tmpl, &nVisuals);
-  if (vinfo == NULL || nVisuals <= 0) {
-    if (vinfo != NULL) {
-      XFree(vinfo);
-    }
-    return false;
-  }
-
-  // Use first visual from the list.
-  *vinfo_ret = vinfo[0];
-
-  XFree(vinfo);
-
-  return true;
-}
-
-IrixOverlayShmImage::~IrixOverlayShmImage()
-{
-  if (readDisplayBuf != NULL)
-    XShmDestroyReadDisplayBuf(readDisplayBuf);
-}
-
-void IrixOverlayShmImage::get(Window wnd, int x, int y)
-{
-  get(wnd, x, y, xim->width, xim->height);
-}
-
-void IrixOverlayShmImage::get(Window wnd, int x, int y, int w, int h,
-                              int dst_x, int dst_y)
-{
-  XRectangle rect;
-  unsigned long hints = XRD_TRANSPARENT | XRD_READ_POINTER;
-
-  rect.x = x;
-  rect.y = y;
-  rect.width = w;
-  rect.height = h;
-
-  XShmReadDisplayRects(dpy, wnd,
-                       &rect, 1, readDisplayBuf,
-                       dst_x - x, dst_y - y,
-                       hints, &hints);
-}
-
-#endif // HAVE_READDISPLAY
-
-#ifdef HAVE_SUN_OVL
-
-//
-// SolarisOverlayImage class implementation
-//
-
-SolarisOverlayImage::SolarisOverlayImage(Display *d)
-  : Image(d)
-{
-}
-
-SolarisOverlayImage::SolarisOverlayImage(Display *d, int width, int height)
-  : Image(d)
-{
-  Init(width, height);
-}
-
-void SolarisOverlayImage::Init(int width, int height)
-{
-  // FIXME: Check if the extension is available at run time.
-  // FIXME: Maybe just read a small (e.g. 8x8) screen area then
-  //        reallocate xim->data[] and correct width and height?
-  xim = XReadScreen(dpy, DefaultRootWindow(dpy), 0, 0, width, height, True);
-  if (xim == NULL) {
-    vlog.error("XReadScreen() failed");
-    return;
-  }
-}
-
-SolarisOverlayImage::~SolarisOverlayImage()
-{
-}
-
-void SolarisOverlayImage::get(Window wnd, int x, int y)
-{
-  get(wnd, x, y, xim->width, xim->height);
-}
-
-void SolarisOverlayImage::get(Window wnd, int x, int y, int w, int h,
-                              int dst_x, int dst_y)
-{
-  XImage *tmp_xim = XReadScreen(dpy, wnd, x, y, w, h, True);
-  if (tmp_xim == NULL)
-    return;
-
-  updateRect(tmp_xim, dst_x, dst_y);
-
-  XDestroyImage(tmp_xim);
-}
-
-#endif // HAVE_SUN_OVL
-
 //
 // ImageFactory class implementation
 //
 // FIXME: Make ImageFactory always create images of the same class?
 //
 
-// Prepare useful shortcuts for compile-time options.
-#if defined(HAVE_READDISPLAY)
-#define HAVE_SHM_READDISPLAY
-#endif
-#if defined(HAVE_SHM_READDISPLAY) || defined(HAVE_SUN_OVL)
-#define HAVE_OVERLAY_EXT
-#endif
-
-ImageFactory::ImageFactory(bool allowShm, bool allowOverlay)
-  : mayUseShm(allowShm), mayUseOverlay(allowOverlay)
+ImageFactory::ImageFactory(bool allowShm)
+  : mayUseShm(allowShm)
 {
 }
 
@@ -505,30 +338,6 @@
 {
   Image *image = NULL;
 
-  // First, try to create an image with overlay support.
-
-#ifdef HAVE_OVERLAY_EXT
-  if (mayUseOverlay) {
-#if defined(HAVE_SHM_READDISPLAY)
-    if (mayUseShm) {
-      image = new IrixOverlayShmImage(d, width, height);
-      if (image->xim != NULL) {
-        return image;
-      }
-    }
-#elif defined(HAVE_SUN_OVL)
-    image = new SolarisOverlayImage(d, width, height);
-    if (image->xim != NULL) {
-      return image;
-    }
-#endif
-    if (image != NULL) {
-      delete image;
-      vlog.error("Failed to create overlay image, trying other options");
-    }
-  }
-#endif // HAVE_OVERLAY_EXT
-
   // Now, try to use shared memory image.
 
   if (mayUseShm) {