diff --git a/repos/libports/ports/qt5.hash b/repos/libports/ports/qt5.hash index 71f3d1758..351962028 100644 --- a/repos/libports/ports/qt5.hash +++ b/repos/libports/ports/qt5.hash @@ -1 +1 @@ -1cc6ac41503ff58bb06dfc142a51a9a57506d748 +2c75a650936656dc846dac362ff43e1d19a21c7f diff --git a/repos/libports/src/lib/qt5/patches/qt5_qtbase_genode.patch b/repos/libports/src/lib/qt5/patches/qt5_qtbase_genode.patch index 1820e03cb..0410032ad 100644 --- a/repos/libports/src/lib/qt5/patches/qt5_qtbase_genode.patch +++ b/repos/libports/src/lib/qt5/patches/qt5_qtbase_genode.patch @@ -15,14 +15,14 @@ Genode-specific adaptations qtbase/src/corelib/kernel/qtranslator.cpp | 2 - qtbase/src/corelib/thread/qthread.cpp | 5 +- qtbase/src/corelib/thread/qthread_p.h | 55 +++++++++++++++++ - qtbase/src/corelib/tools/qdatetime.cpp | 12 ++++ + qtbase/src/corelib/tools/qdatetime.cpp | 15 +++++ qtbase/src/gui/image/qxpmhandler.cpp | 8 +++ .../network/access/qnetworkaccessfilebackend.cpp | 5 ++ qtbase/src/network/kernel/qhostinfo.cpp | 5 ++ qtbase/src/network/kernel/qhostinfo_unix.cpp | 7 ++ qtbase/src/widgets/dialogs/qfiledialog.cpp | 2 - qtbase/src/widgets/styles/qstylefactory.cpp | 7 ++ - 18 files changed, 242 insertions(+), 8 deletions(-) + 18 files changed, 245 insertions(+), 8 deletions(-) diff --git a/qtbase/src/corelib/codecs/qtextcodec.cpp b/qtbase/src/corelib/codecs/qtextcodec.cpp index 1cedd3a..646be07 100644 @@ -420,28 +420,37 @@ index 9d773b3..9beb7e6 100644 #ifdef Q_OS_WIN diff --git a/qtbase/src/corelib/tools/qdatetime.cpp b/qtbase/src/corelib/tools/qdatetime.cpp -index d8e3a78..6a579e9 100644 +index d8e3a78..78202c6 100644 --- a/qtbase/src/corelib/tools/qdatetime.cpp +++ b/qtbase/src/corelib/tools/qdatetime.cpp -@@ -3072,6 +3072,9 @@ QTime QTime::currentTime() +@@ -3072,9 +3072,14 @@ QTime QTime::currentTime() // posix compliant system struct timeval tv; gettimeofday(&tv, 0); -+#ifdef Q_OS_GENODE -+ ct.mds = (tv.tv_sec * 1000) + (tv.tv_usec / 1000); -+#else ++ time_t ltime = tv.tv_sec; struct tm *t = 0; -@@ -3086,6 +3089,7 @@ QTime QTime::currentTime() ++#ifdef Q_OS_GENODE ++ struct tm res; ++ t = gmtime_r(<ime, &res); ++#else /* Q_OS_GENODE */ + #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) + // use the reentrant version of localtime() where available + tzset(); +@@ -3083,9 +3088,11 @@ QTime QTime::currentTime() + #else + t = localtime(<ime); + #endif ++#endif /* Q_OS_GENODE */ Q_CHECK_PTR(t); ct.mds = msecsFromDecomposed(t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec / 1000); -+#endif /* Q_OS_GENODE */ ++ return ct; } -@@ -3970,6 +3974,10 @@ static QDate adjustDate(QDate date) +@@ -3970,6 +3977,10 @@ static QDate adjustDate(QDate date) static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) { @@ -452,7 +461,7 @@ index d8e3a78..6a579e9 100644 QDate fakeDate = adjustDate(date); // won't overflow because of fakeDate -@@ -4023,6 +4031,10 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) +@@ -4023,6 +4034,10 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) static void localToUtc(QDate &date, QTime &time, int isdst) {