dc90bee
diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc.undo-fc23895 tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc
dc90bee
--- tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc.undo-fc23895	2013-07-01 13:41:24.000000000 +0100
dc90bee
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/xf86vncModule.cc	2014-07-09 11:02:00.737066640 +0100
dc90bee
@@ -90,31 +90,26 @@ vncSetup(pointer module, pointer opts, i
dc90bee
 
dc90bee
 static void vncExtensionInitWithParams(INITARGS)
dc90bee
 {
dc90bee
-  static char once = 0;
dc90bee
+  rfb::initStdIOLoggers();
dc90bee
+  rfb::LogWriter::setLogParams("*:stderr:30");
dc90bee
+  rfb::Configuration::enableServerParams();
dc90bee
 
dc90bee
-  if (!once) {
dc90bee
-    once++;
dc90bee
-    rfb::initStdIOLoggers();
dc90bee
-    rfb::LogWriter::setLogParams("*:stderr:30");
dc90bee
-    rfb::Configuration::enableServerParams();
dc90bee
+  for (int scr = 0; scr < screenInfo.numScreens; scr++) {
dc90bee
+    ScrnInfoPtr pScrn = xf86Screens[scr];
dc90bee
 
dc90bee
-    for (int scr = 0; scr < screenInfo.numScreens; scr++) {
dc90bee
-      ScrnInfoPtr pScrn = xf86Screens[scr];
dc90bee
-
dc90bee
-      for (ParameterIterator i; i.param; i.next()) {
dc90bee
-        const char *val;
dc90bee
+    for (ParameterIterator i; i.param; i.next()) {
dc90bee
+      const char *val;
dc90bee
 #if XORG < 112
dc90bee
-        val = xf86FindOptionValue(pScrn->options, i.param->getName());
dc90bee
+      val = xf86FindOptionValue(pScrn->options, i.param->getName());
dc90bee
 #else
dc90bee
-        val = xf86FindOptionValue((XF86OptionPtr)pScrn->options, i.param->getName());
dc90bee
+      val = xf86FindOptionValue((XF86OptionPtr)pScrn->options, i.param->getName());
dc90bee
 #endif
dc90bee
-        if (val)
dc90bee
-          i.param->setParam(val);
dc90bee
-      }
dc90bee
+      if (val)
dc90bee
+        i.param->setParam(val);
dc90bee
     }
dc90bee
-
dc90bee
-    vncExtensionInit();
dc90bee
   }
dc90bee
+
dc90bee
+  vncExtensionInit();
dc90bee
 }
dc90bee
 }
dc90bee