Unset pixel buffer when x0vncserver client disconnects.

In XDesktop::start() we allocate pixel buffer and set it as the backend to the given VNCServer.
In XDesktop::stop() we deallocate the buffer, so we must unset it from the VNCServer as well.
Otherwise the VNCServer could try to access it and crash, for example in deferred update.
diff --git a/unix/x0vncserver/XDesktop.cxx b/unix/x0vncserver/XDesktop.cxx
index 4a989d3..7123d74 100644
--- a/unix/x0vncserver/XDesktop.cxx
+++ b/unix/x0vncserver/XDesktop.cxx
@@ -166,7 +166,8 @@
 }
 
 XDesktop::~XDesktop() {
-    stop();
+    if (running)
+      stop();
 }
 
 
@@ -227,6 +228,9 @@
       XDamageDestroy(dpy, damage);
 #endif
 
+    server->setPixelBuffer(0);
+    server = 0;
+
     delete pb;
     pb = 0;
 }