Code refactoring - PollingManager's constructor is given an XPixelBuffer*
instead of an Image*.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2567 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/x0vncserver/x0vncserver.cxx b/unix/x0vncserver/x0vncserver.cxx
index ab93984..8489290 100644
--- a/unix/x0vncserver/x0vncserver.cxx
+++ b/unix/x0vncserver/x0vncserver.cxx
@@ -1,5 +1,5 @@
 /* Copyright (C) 2002-2005 RealVNC Ltd.  All Rights Reserved.
- * Copyright (C) 2004-2006 Constantin Kaplinsky.  All Rights Reserved.
+ * Copyright (C) 2004-2008 Constantin Kaplinsky.  All Rights Reserved.
  *    
  * This is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -180,13 +180,6 @@
     image = factory.newImage(dpy, geometry->width(), geometry->height());
     vlog.info("Allocated %s", image->classDesc());
 
-    // Create polling manager object. It will track screen changes and
-    // keep pixels of the `image' object up to date.
-    pollmgr = new PollingManager(dpy, image, &factory,
-                                 geometry->offsetLeft(),
-                                 geometry->offsetTop());
-    pollmgr->setVNCServer(vs);
-
     pf.bpp = image->xim->bits_per_pixel;
     pf.depth = image->xim->depth;
     pf.bigEndian = (image->xim->byte_order == MSBFirst);
@@ -205,6 +198,12 @@
     server = vs;
     server->setPixelBuffer(pb);
 
+    // Create polling manager object for detection of pixel changes.
+    pollmgr = new PollingManager(dpy, pb, &factory,
+                                 geometry->offsetLeft(),
+                                 geometry->offsetTop());
+    pollmgr->setVNCServer(vs);
+
     running = true;
   }
 
@@ -286,7 +285,7 @@
   Display* dpy;
   Geometry* geometry;
   PixelFormat pf;
-  PixelBuffer* pb;
+  XPixelBuffer* pb;
   VNCServer* server;
   Image* image;
   PollingManager* pollmgr;