From d1d896e23ca87dcbcbf0ef0c53b62b8365438f19 Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Sun, 28 May 2006 22:10:33 +0000 Subject: [PATCH] Fix hang on exit under Windows. 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 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/frontends/qt4/lyx_gui.C b/src/frontends/qt4/lyx_gui.C index 82d1a7c562..d3127f6f17 100644 --- a/src/frontends/qt4/lyx_gui.C +++ b/src/frontends/qt4/lyx_gui.C @@ -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 -- 2.39.2