]> source.dussan.org Git - tigervnc.git/commitdiff
Open X11 display properly
authorPierre Ossman <ossman@cendio.se>
Tue, 28 May 2019 06:42:16 +0000 (08:42 +0200)
committerPierre Ossman <ossman@cendio.se>
Tue, 26 May 2020 08:17:08 +0000 (10:17 +0200)
We need to make sure everything happens in the correct order during
startup for the X11 display to open correctly. Primarily it means
we need to parse the arguments and open the display before anything
might make any X11 calls, as we may have a -display argument.

vncviewer/vncviewer.cxx

index 06c7fbf86f43b401d734409271ff6fb1d7922b42..7b1ac92ebdc861084b35121ac52f49fd168f3e6c 100644 (file)
@@ -539,8 +539,6 @@ int main(int argc, char** argv)
   signal(SIGINT, CleanupSignalHandler);
   signal(SIGTERM, CleanupSignalHandler);
 
-  init_fltk();
-
   Configuration::enableViewerParams();
 
   /* Load the default parameter settings */
@@ -578,11 +576,6 @@ int main(int argc, char** argv)
     i++;
   }
 
-  // Check if the server name in reality is a configuration file
-  potentiallyLoadConfigurationFile(vncServerName);
-
-  mkvnchomedir();
-
 #if !defined(WIN32) && !defined(__APPLE__)
   if (strcmp(display, "") != 0) {
     Fl::display(display);
@@ -591,6 +584,13 @@ int main(int argc, char** argv)
   XkbSetDetectableAutoRepeat(fl_display, True, NULL);
 #endif
 
+  init_fltk();
+
+  // Check if the server name in reality is a configuration file
+  potentiallyLoadConfigurationFile(vncServerName);
+
+  mkvnchomedir();
+
   CSecurity::upg = &dlg;
 #ifdef HAVE_GNUTLS
   CSecurityTLS::msg = &dlg;