Название: Конструкторы QQmlApplicationEngine и QSettings портят таймзону (daylight) Отправлено: xintrea от Май 20, 2018, 22:20 Debian Linux 9 Stable 64 bit, Qt 5.10.1
Наткнулся на странное поведение конструктора QQmlApplicationEngine. Минимальный код main.cpp: Код: #include <QApplication> Результат работы: Код: 1ST timezone= 0 daylight= 0 То есть, после срабатывания конструктора QQmlApplicationEngine портится daylight. Я удивился, но работать надо и поэтому попытался обойти это дело так: Код: long saveTimezone=timezone; Сработало, однако в проекте я еще нашел одно место, в котором такое же поведение, после срабатывания конструктора QSettings (но уже в куче). Выглядит так: Код: qDebug() << "CURRENT timezone=" << timezone << " daylight=" << daylight; Код: CURRENT timezone= -10800 daylight= 1 В минимальном коде повторить такое не смог. Вот. Где еще может слетать daylight я ума не приложу, но вероятности такой не исключаю. Проблема в том, что в моем проекте используется легаси библиотека, которая работает с daylight, и из-за этих проблем выдает неправильное время. Вопросы: что это за ботва такая, почему некоторые Qt классы портят daylight, как это дело гарантированно обойти? PS: Файл проекта что б быстро собрать минимальный пример (требуется только main.cpp и time.pro): time.pro Код: CONFIG+=c++11 |