Georg Baum wrote:
> Does it work if you always use exit instead of lyx_gui::exit in lyx_exit
> (lyx_main.C)?

No, still the same.



$ svn diff

Index: lyx_main.C
===================================================================
--- lyx_main.C  (revision 14038)
+++ lyx_main.C  (working copy)
@@ -112,8 +112,8 @@
        // FIXME: We should not directly call exit(), since it only
        // guarantees a return to the system, no application cleanup.
        // This may cause troubles with not executed destructors.
-       if (lyx_gui::use_gui)
-               lyx_gui::exit(status);
+       //if (lyx_gui::use_gui)
+               //lyx_gui::exit(status);
        exit(status);
 }


Index: frontends/qt4/lyx_gui.C
===================================================================
--- frontends/qt4/lyx_gui.C     (revision 14038)
+++ frontends/qt4/lyx_gui.C     (working copy)
@@ -55,6 +55,8 @@
 #include <QEventLoop>
 #include <QTranslator>
 #include <QTextCodec>
+#include <QLocale>
+#include <QLibraryInfo>

 using lyx::support::ltrim;
 using lyx::support::package;
@@ -167,19 +169,23 @@

        // install translation file for Qt built-in dialogs
        // These are only installed since Qt 3.2.x
-       QTranslator qt_trans(0);
-       if (qt_trans.load(QString("qt_") + QTextCodec::locale(),
-                         qInstallPathTranslations())) {
+       static QTranslator qt_trans;
+       QString language_name = QString("qt_") + QLocale::system().name();
+       language_name.truncate(5);
+       if (qt_trans.load(language_name,
+               QLibraryInfo::location(QLibraryInfo::TranslationsPath))
+               )
+       {
                qApp->installTranslator(&qt_trans);
                // even if the language calls for RtL, don't do that
-               qApp->setReverseLayout(false);
+               qApp->setLayoutDirection(Qt::LeftToRight);
                lyxerr[Debug::GUI]
                        << "Successfully installed Qt translations for locale "
-                       << QTextCodec::locale() << std::endl;
+                       << language_name.toStdString().c_str() << std::endl;
        } else
                lyxerr[Debug::GUI]
                        << "Could not find  Qt translations for locale "
-                       << QTextCodec::locale() << std::endl;
+                       << language_name.toStdString().c_str() << std::endl;

 /*#ifdef Q_WS_MACX
        // These translations are meant to break Qt/Mac menu merging







Reply via email to