Georg Baum wrote:
> Here you are basically reintroducing the static app variable, and therefore
> the crash on exit on linux. A scoped_ptr is supposed to be equivalent to a
> normal object variable concerning construction and destruction, so if that
> is needed i think the old solution of Abdel is better.
Yes, the scoped _ptr adds only overhead.
> What I don't understand is: Why does it work for other windows users?
Maybe they've used mingw, I use msvc.
> If
> this is really necessary we need to reintroduce the #ifdef of Abdel,
> because I get a crash on Linux with this patch.
Seems the destruction order is implemented different by those
two compilers. Why crashes it under Linux? Also because of
Qt objects?
>> // 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())) {
>> + 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))
>> + )
>> + {
>
> This indentation is not LyX style, the old one is better.
>
No problem.
>> 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;
>
> toStdString is not available here (see QT_NO_STL). And why do you use c_str?
>
> lyxerr << fromqstr(language_name);
>
"fromqstr" is what I was looking for! :)
> works.
>
>
> Georg
>
>