summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qcoreevent.cpp3
-rw-r--r--src/corelib/kernel/qeventdispatcher_winrt.cpp6
-rw-r--r--src/corelib/kernel/qmetatype.h42
-rw-r--r--src/corelib/kernel/qmimedata.cpp2
-rw-r--r--src/corelib/kernel/qobject.cpp6
5 files changed, 19 insertions, 40 deletions
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp
index ae2666f19b..5e588a9f1a 100644
--- a/src/corelib/kernel/qcoreevent.cpp
+++ b/src/corelib/kernel/qcoreevent.cpp
@@ -407,6 +407,9 @@ Q_GLOBAL_STATIC(QEventUserEventRegistration, userEventRegistrationHelper)
between QEvent::User and QEvent::MaxUser that has not yet been
registered. The \a hint is ignored if its value is not between
QEvent::User and QEvent::MaxUser.
+
+ Returns -1 if all available values are already taken or the
+ program is shutting down.
*/
int QEvent::registerEventType(int hint)
{
diff --git a/src/corelib/kernel/qeventdispatcher_winrt.cpp b/src/corelib/kernel/qeventdispatcher_winrt.cpp
index 56f4ac40de..1d4b57642c 100644
--- a/src/corelib/kernel/qeventdispatcher_winrt.cpp
+++ b/src/corelib/kernel/qeventdispatcher_winrt.cpp
@@ -45,6 +45,7 @@
#include <QtCore/QThread>
#include <QtCore/QHash>
#include <private/qabstracteventdispatcher_p.h>
+#include <private/qcoreapplication_p.h>
#include <wrl.h>
#include <windows.foundation.h>
@@ -109,6 +110,11 @@ QEventDispatcherWinRT::QEventDispatcherWinRT(QObject *parent)
: QAbstractEventDispatcher(*new QEventDispatcherWinRTPrivate, parent)
{
Q_D(QEventDispatcherWinRT);
+
+ // Only look up the event dispatcher in the main thread
+ if (QThread::currentThread() != QCoreApplicationPrivate::theMainThread)
+ return;
+
ComPtr<ICoreApplication> application;
HRESULT hr = RoGetActivationFactory(HString::MakeReference(RuntimeClass_Windows_ApplicationModel_Core_CoreApplication).Get(),
IID_PPV_ARGS(&application));
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index 7679258a98..0a52aaf680 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -939,10 +939,6 @@ public:
}
template<class T>
- static void advanceImpl(void **p, int step)
- { IteratorOwner<typename T::const_iterator>::advance(p, step); }
-
- template<class T>
static void moveToBeginImpl(const void *container, void **iterator)
{ IteratorOwner<typename T::const_iterator>::assign(iterator, static_cast<const T*>(container)->begin()); }
@@ -951,21 +947,9 @@ public:
{ IteratorOwner<typename T::const_iterator>::assign(iterator, static_cast<const T*>(container)->end()); }
template<class T>
- static void destroyIterImpl(void **iterator)
- { IteratorOwner<typename T::const_iterator>::destroy(iterator); }
-
- template<class T>
- static bool equalIterImpl(void * const *iterator, void * const *other)
- { return IteratorOwner<typename T::const_iterator>::equal(iterator, other); }
-
- template<class T>
static VariantData getImpl(void * const *iterator, int metaTypeId, uint flags)
{ return VariantData(metaTypeId, IteratorOwner<typename T::const_iterator>::getData(iterator), flags); }
- template<class T>
- static void copyIterImpl(void **dest, void * const * src)
- { IteratorOwner<typename T::const_iterator>::assign(dest, src); }
-
public:
template<class T> QSequentialIterableImpl(const T*p)
: _iterable(p)
@@ -977,11 +961,11 @@ public:
, _at(atImpl<T>)
, _moveToBegin(moveToBeginImpl<T>)
, _moveToEnd(moveToEndImpl<T>)
- , _advance(advanceImpl<T>)
+ , _advance(IteratorOwner<typename T::const_iterator>::advance)
, _get(getImpl<T>)
- , _destroyIter(destroyIterImpl<T>)
- , _equalIter(equalIterImpl<T>)
- , _copyIter(copyIterImpl<T>)
+ , _destroyIter(IteratorOwner<typename T::const_iterator>::destroy)
+ , _equalIter(IteratorOwner<typename T::const_iterator>::equal)
+ , _copyIter(IteratorOwner<typename T::const_iterator>::assign)
{
}
@@ -1134,18 +1118,6 @@ public:
static VariantData getValueImpl(void * const *iterator, int metaTypeId, uint flags)
{ return VariantData(metaTypeId, &AssociativeContainerAccessor<T>::getValue(*static_cast<typename T::const_iterator*>(*iterator)), flags); }
- template<class T>
- static void destroyIterImpl(void **iterator)
- { IteratorOwner<typename T::const_iterator>::destroy(iterator); }
-
- template<class T>
- static bool equalIterImpl(void * const *iterator, void * const *other)
- { return IteratorOwner<typename T::const_iterator>::equal(iterator, other); }
-
- template<class T>
- static void copyIterImpl(void **dest, void * const * src)
- { IteratorOwner<typename T::const_iterator>::assign(dest, src); }
-
public:
template<class T> QAssociativeIterableImpl(const T*p)
: _iterable(p)
@@ -1160,9 +1132,9 @@ public:
, _advance(advanceImpl<T>)
, _getKey(getKeyImpl<T>)
, _getValue(getValueImpl<T>)
- , _destroyIter(destroyIterImpl<T>)
- , _equalIter(equalIterImpl<T>)
- , _copyIter(copyIterImpl<T>)
+ , _destroyIter(IteratorOwner<typename T::const_iterator>::destroy)
+ , _equalIter(IteratorOwner<typename T::const_iterator>::equal)
+ , _copyIter(IteratorOwner<typename T::const_iterator>::assign)
{
}
diff --git a/src/corelib/kernel/qmimedata.cpp b/src/corelib/kernel/qmimedata.cpp
index 483692cdf8..5d2adb0561 100644
--- a/src/corelib/kernel/qmimedata.cpp
+++ b/src/corelib/kernel/qmimedata.cpp
@@ -299,7 +299,7 @@ QVariant QMimeDataPrivate::retrieveTypedData(const QString &format, QVariant::Ty
QMacPasteboardMime maps MIME to Mac flavors.
\sa QClipboard, QDragEnterEvent, QDragMoveEvent, QDropEvent, QDrag,
- QWindowsMime, QMacPasteboardMime, {Drag and Drop}
+ QMacPasteboardMime, {Drag and Drop}
*/
/*!
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 262d259136..01bedb4a3a 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -551,7 +551,7 @@ void QMetaCallEvent::placeMetaCall(QObject *object)
QObject::signalsBlocked() state is transferred to this object.
The object's signals this signal blocker was blocking prior to
- being moved to, if any, are unblocked \em except in the case where
+ being moved to, if any, are unblocked \e except in the case where
both instances block the same object's signals and \c *this is
unblocked while \a other is not, at the time of the move.
*/
@@ -2731,9 +2731,7 @@ QMetaObject::Connection QObject::connect(const QObject *sender, const char *sign
Qt::ConnectionType type)
but it uses QMetaMethod to specify signal and method.
- \sa connect(const QObject *sender, const char *signal,
- const QObject *receiver, const char *method,
- Qt::ConnectionType type)
+ \sa connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
*/
QMetaObject::Connection QObject::connect(const QObject *sender, const QMetaMethod &signal,
const QObject *receiver, const QMetaMethod &method,