7#include <private/qfieldlist_p.h>
8#include <private/qtqmlglobal_p.h>
10#include <QtCore/qcoreapplication.h>
11#include <QtCore/qcoreevent.h>
12#include <QtCore/qthread.h>
14#if QT_CONFIG(qml_type_loader_thread)
15#error "The QQmlThread stub is for the case of !qml_type_loader_thread"
29 if (e->type() == QEvent::User) {
32 while (!m_messages.isEmpty()) {
33 QQmlThread::Message *message = m_messages.takeFirst();
40 return QObject::event(e);
72 return d->thread()->isCurrentThread();
77 return d->thread()->isCurrentThread();
80void QQmlThread::internalCallMethodInThread(Message *message)
82 internalCallMethodInMain(message);
85void QQmlThread::internalCallMethodInMain(Message *message)
91void QQmlThread::internalPostMethodToThread(Message *message)
93 internalPostMethodToMain(message);
96void QQmlThread::internalPostMethodToMain(Message *message)
98 const bool wasEmpty = d->m_messages.isEmpty();
99 d->m_messages.append(message);
100 if (wasEmpty && !d->m_processing)
101 QCoreApplication::postEvent(d,
new QEvent(QEvent::User));
108 while (!d->m_messages.isEmpty())
109 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
Combined button and popup list for selecting options.