summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-06-08 16:09:48 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-06-08 16:09:48 (GMT)
commitbaf60d049cc11a54f156b69960706d7304fc4640 (patch)
tree617f63b98d841fea6126c30a026fcfb3d8ee4b02 /src/corelib
parent2ae808a23ce05bf9768ad9df107c16bb0c555ee7 (diff)
parentdcb9b85376718d768f538e19ae231f5e061b7b31 (diff)
downloadQt-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.h27
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp10
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp3
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);