]> git.lyx.org Git - lyx.git/commitdiff
Fix hang on exit under Windows.
authorAbdelrazak Younes <younes@lyx.org>
Sun, 28 May 2006 22:10:33 +0000 (22:10 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Sun, 28 May 2006 22:10:33 +0000 (22:10 +0000)
TODO: reorganize this code. In particular make sure that this advise from Qt documentation is respected:

Since the QApplication object does so much initialization, it must be created before any other objects related to the user interface are created.

Right now this is not the case. For example, "FontLoader::initFontPath()" is called before the QApplication creation. Moreover, I suspect that a number of global variables contains Qt object that are initialized before the passage through parse_init(). This might also explain the message displayed by Qt that caused the hanging:

QObject::killTimer: timers cannot be stopped from another thread

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13948 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/lyx_gui.C

index 82d1a7c5622eae728a94ef0a66e76c916ed29f19..d3127f6f17b777ccd5c6025e95d6f167679ebb52 100644 (file)
@@ -168,7 +168,12 @@ void parse_init(int & argc, char * argv[])
        // Force adding of font path _before_ QApplication is initialized
        FontLoader::initFontPath();
 
+
+#ifdef Q_WS_WIN
+       static QApplication win_app(argc, argv);
+#else
        app = new LQApplication(argc, argv);
+#endif
 
        // install translation file for Qt built-in dialogs
        // These are only installed since Qt 3.2.x