diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-06-08 16:09:48 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-06-08 16:09:48 (GMT) |
commit | baf60d049cc11a54f156b69960706d7304fc4640 (patch) | |
tree | 617f63b98d841fea6126c30a026fcfb3d8ee4b02 /src/corelib | |
parent | 2ae808a23ce05bf9768ad9df107c16bb0c555ee7 (diff) | |
parent | dcb9b85376718d768f538e19ae231f5e061b7b31 (diff) | |
download | Qt-baf60d049cc11a54f156b69960706d7304fc4640.zip Qt-baf60d049cc11a54f156b69960706d7304fc4640.tar.gz Qt-baf60d049cc11a54f156b69960706d7304fc4640.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (29 commits)
I10n: Update German translations for 4.7.0
Fix a freetype link failure.
Fix configure test for DirectFB
Split Symbian bearer plugin into three platform specfic plugins
Doc: Fixed whitespace in the other configuration file for zh_CN.
Doc: Fixed whitespace in the Simplified Chinese doc configuration.
Unbreak Linux build when qendian.h is included before qglobal.h
Revert accidental commit of irrelevant stuff. Silly mondays..
Unbreak Linux build when qendian.h is included before qglobal.h
Fix QApplication/QWidget to really take ownership of input contexts
Added setting a hotspot on standard gestures
Fixed GestureOverride event delivery in GraphicsView.
add check-ts target to auto-asses translation completeness
qt_ja_JP.ts => qt_ja.ts
Fix incorrect \since tag
XQuery test suite (and others): remove p4 dependency
add docu about pixmaps being invalidated on qapp destruction
remove somewhat misleading warning about x11 pixmap leak
Disabled item view items use incorrect background color
Update the mkspec for linux-icc: don't use jump tables in shlibs
...
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/global/qendian.h | 27 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_win.cpp | 10 | ||||
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_glib.cpp | 3 |
3 files changed, 39 insertions, 1 deletions
diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h index 107854c..01550cf 100644 --- a/src/corelib/global/qendian.h +++ b/src/corelib/global/qendian.h @@ -42,6 +42,17 @@ #ifndef QENDIAN_H #define QENDIAN_H +#ifdef Q_OS_LINUX +# include <qglobal.h> +QT_BEGIN_INCLUDE_NAMESPACE +# include <features.h> +QT_END_INCLUDE_NAMESPACE +#endif + +#ifdef __GLIBC__ +#include <byteswap.h> +#endif + #include <QtCore/qglobal.h> QT_BEGIN_HEADER @@ -264,6 +275,21 @@ template <> inline qint16 qFromBigEndian<qint16>(const uchar *src) * and it is therefore a bit more convenient and in most cases more efficient. */ template <typename T> T qbswap(T source); + +#ifdef __GLIBC__ +template <> inline quint64 qbswap<quint64>(quint64 source) +{ + return bswap_64(source); +} +template <> inline quint32 qbswap<quint32>(quint32 source) +{ + return bswap_32(source); +} +template <> inline quint16 qbswap<quint16>(quint16 source) +{ + return bswap_16(source); +} +#else template <> inline quint64 qbswap<quint64>(quint64 source) { return 0 @@ -292,6 +318,7 @@ template <> inline quint16 qbswap<quint16>(quint16 source) | ((source & 0x00ff) << 8) | ((source & 0xff00) >> 8) ); } +#endif // __GLIBC__ // signed specializations template <> inline qint64 qbswap<qint64>(qint64 source) diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp index ec49f1a..21930e1 100644 --- a/src/corelib/io/qfsfileengine_win.cpp +++ b/src/corelib/io/qfsfileengine_win.cpp @@ -1162,7 +1162,15 @@ bool QFSFileEnginePrivate::doStat() const if (filePath.isEmpty()) return could_stat; - QString fname = filePath.endsWith(QLatin1String(".lnk")) ? readLink(filePath) : filePath; + QString fname; + if(filePath.endsWith(QLatin1String(".lnk"))) { + fname = readLink(filePath); + if(fname.isEmpty()) + return could_stat; + } + else + fname = filePath; + fname = fixIfRelativeUncPath(fname); UINT oldmode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX); diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp index fd36be4..9c1c827 100644 --- a/src/corelib/kernel/qeventdispatcher_glib.cpp +++ b/src/corelib/kernel/qeventdispatcher_glib.cpp @@ -246,6 +246,7 @@ struct GPostEventSource GSource source; QAtomicInt serialNumber; int lastSerialNumber; + QEventDispatcherGlibPrivate *d; }; static gboolean postEventSourcePrepare(GSource *s, gint *timeout) @@ -274,6 +275,7 @@ static gboolean postEventSourceDispatch(GSource *s, GSourceFunc, gpointer) GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s); source->lastSerialNumber = source->serialNumber; QCoreApplication::sendPostedEvents(); + source->d->runTimersOnceWithNormalPriority(); return true; // i dunno, george... } @@ -313,6 +315,7 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context) postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs, sizeof(GPostEventSource))); postEventSource->serialNumber = 1; + postEventSource->d = this; g_source_set_can_recurse(&postEventSource->source, true); g_source_attach(&postEventSource->source, mainContext); |