6#include <private/qfieldlist_p.h>
7#include <private/qtqmlglobal_p.h>
9#include <QtCore/qcoreapplication.h>
10#include <QtCore/qcoreevent.h>
11#include <QtCore/qthread.h>
13#if QT_CONFIG(qml_type_loader_thread)
14#error "The QQmlThread stub is for the case of !qml_type_loader_thread"
28 if (e->type() == QEvent::User) {
31 while (!m_messages.isEmpty()) {
32 QQmlThread::Message *message = m_messages.takeFirst();
39 return QObject::event(e);
71 return d->thread()->isCurrentThread();
76 return d->thread()->isCurrentThread();
79void QQmlThread::internalCallMethodInThread(Message *message)
81 internalCallMethodInMain(message);
84void QQmlThread::internalCallMethodInMain(Message *message)
90void QQmlThread::internalPostMethodToThread(Message *message)
92 internalPostMethodToMain(message);
95void QQmlThread::internalPostMethodToMain(Message *message)
97 const bool wasEmpty = d->m_messages.isEmpty();
98 d->m_messages.append(message);
99 if (wasEmpty && !d->m_processing)
100 QCoreApplication::postEvent(d,
new QEvent(QEvent::User));
107 while (!d->m_messages.isEmpty())
108 delete d->m_messages.takeFirst();
QQmlThreadPrivate(QQmlThread *q)
QFieldList< QQmlThread::Message, &QQmlThread::Message::next > MessageList
bool event(QEvent *e) override
This virtual function receives events to an object and should return true if the event e was recogniz...
bool isThisThread() const
void waitForNextMessage()
bool isParentThread() const
QObject * threadObject() const
And object living in the QML thread, in case you want to parent other objects to it.