Get rid of getFbSize()/getDesktopSize() in common

It was only used by WinVNC, so push it there instead.
diff --git a/win/rfb_win32/SDisplay.h b/win/rfb_win32/SDisplay.h
index 9892ed9..f36b2b7 100644
--- a/win/rfb_win32/SDisplay.h
+++ b/win/rfb_win32/SDisplay.h
@@ -68,7 +68,6 @@
       virtual void pointerEvent(const Point& pos, int buttonmask);
       virtual void keyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down);
       virtual void clientCutText(const char* str, int len);
-      virtual Point getFbSize();
 
       // -=- Clipboard
       
@@ -87,6 +86,10 @@
 
       void setStatusLocation(bool* status) {statusLocation = status;}
 
+      // -=- Used (indirectly) by JavaViewer to get desktop size
+
+      Point getFbSize();
+
       friend class SDisplayCore;
 
       static IntParameter updateMethod;
diff --git a/win/winvnc/JavaViewer.cxx b/win/winvnc/JavaViewer.cxx
index c963122..e2e307e 100644
--- a/win/winvnc/JavaViewer.cxx
+++ b/win/winvnc/JavaViewer.cxx
@@ -17,6 +17,7 @@
  */
 
 #include <winvnc/JavaViewer.h>
+#include <winvnc/VNCServerWin32.h>
 #include <winvnc/resource.h>
 #include <rdr/MemInStream.h>
 #include <rfb/LogWriter.h>
@@ -31,7 +32,7 @@
 
 static rfb::LogWriter vlog("JavaViewerServer");
 
-JavaViewerServer::JavaViewerServer(rfb::VNCServerST* svr) : server(svr) {
+JavaViewerServer::JavaViewerServer(VNCServerWin32* svr) : server(svr) {
 }
 
 JavaViewerServer::~JavaViewerServer() {
diff --git a/win/winvnc/JavaViewer.h b/win/winvnc/JavaViewer.h
index ecda4d3..79a3969 100644
--- a/win/winvnc/JavaViewer.h
+++ b/win/winvnc/JavaViewer.h
@@ -25,14 +25,15 @@
 #define WINVNC_JAVA_VIEWER
 
 #include <rfb/HTTPServer.h>
-#include <rfb/VNCServerST.h>
 #include <rdr/SubstitutingInStream.h>
 
 namespace winvnc {
 
+  class VNCServerWin32;
+
   class JavaViewerServer : public rfb::HTTPServer, public rdr::Substitutor {
   public:
-    JavaViewerServer(rfb::VNCServerST* desktop);
+    JavaViewerServer(VNCServerWin32* desktop);
     virtual ~JavaViewerServer();
 
     virtual rdr::InStream* getFile(const char* name, const char** contentType,
@@ -46,7 +47,7 @@
     }
   protected:
     int rfbPort;
-    rfb::VNCServerST* server;
+    VNCServerWin32* server;
   };
 
 };
diff --git a/win/winvnc/VNCServerWin32.cxx b/win/winvnc/VNCServerWin32.cxx
index d86384d..b164c65 100644
--- a/win/winvnc/VNCServerWin32.cxx
+++ b/win/winvnc/VNCServerWin32.cxx
@@ -63,7 +63,7 @@
       CreateEvent(0, FALSE, FALSE, "Global\\SessionEventTigerVNC") : 0),
     vncServer(CStr(ComputerName().buf), &desktop),
     thread_id(-1), runServer(false), isDesktopStarted(false),
-    httpServer(&vncServer), config(&sockMgr),
+    httpServer(this), config(&sockMgr),
     rfbSock(&sockMgr), httpSock(&sockMgr), trayIcon(0),
     queryConnectDialog(0)
 {
diff --git a/win/winvnc/VNCServerWin32.h b/win/winvnc/VNCServerWin32.h
index f384bbe..ed051dc 100644
--- a/win/winvnc/VNCServerWin32.h
+++ b/win/winvnc/VNCServerWin32.h
@@ -78,6 +78,10 @@
 
     bool setClientsStatus(rfb::ListConnInfo* LCInfo);
 
+    // Used by JavaViewerServer
+    const char* getName() {return vncServer.getName();}
+    rfb::Point getDesktopSize() {return desktop.getFbSize();}
+
   protected:
     // VNCServerST::QueryConnectionHandler interface
     // Callback used to prompt user to accept or reject a connection.