Check for TrueColor support in x0vncserver

Colour map support was removed in b6b4dc6, but x0vncserver didn't
properly check if the X server required it.
diff --git a/unix/x0vncserver/Image.cxx b/unix/x0vncserver/Image.cxx
index f1a4593..a5bd2b0 100644
--- a/unix/x0vncserver/Image.cxx
+++ b/unix/x0vncserver/Image.cxx
@@ -58,13 +58,13 @@
 static rfb::LogWriter vlog("Image");
 
 Image::Image(Display *d)
-  : xim(NULL), dpy(d), trueColor(true)
+  : xim(NULL), dpy(d)
 {
   imageCleanup.images.push_back(this);
 }
 
 Image::Image(Display *d, int width, int height)
-  : xim(NULL), dpy(d), trueColor(true)
+  : xim(NULL), dpy(d)
 {
   imageCleanup.images.push_back(this);
   Init(width, height);
@@ -73,7 +73,11 @@
 void Image::Init(int width, int height)
 {
   Visual* vis = DefaultVisual(dpy, DefaultScreen(dpy));
-  trueColor = (vis->c_class == TrueColor);
+
+  if (vis->c_class != TrueColor) {
+    vlog.error("pseudocolour not supported");
+    exit(1);
+  }
 
   xim = XCreateImage(dpy, vis, DefaultDepth(dpy, DefaultScreen(dpy)),
                      ZPixmap, 0, 0, width, height, BitmapPad(dpy), 0);
@@ -239,7 +243,10 @@
     depth = vinfo->depth;
   }
 
-  trueColor = (visual->c_class == TrueColor);
+  if (visual->c_class != TrueColor) {
+    vlog.error("pseudocolour not supported");
+    exit(1);
+  }
 
   shminfo = new XShmSegmentInfo;