9#include "qplatformdefs.h"
12#include "private/qguiapplication_p.h"
27 return userEventSource
->d->wakeUpCalled;
32 return userEventSourcePrepare(source,
nullptr);
38 QPAEventDispatcherGlib *dispatcher = userEventSource->q;
39 QWindowSystemInterface::sendWindowSystemEvents(dispatcher->m_flags);
44 userEventSourcePrepare,
46 userEventSourceDispatch,
53 : QEventDispatcherGlibPrivate(context)
55 Q_Q(QPAEventDispatcherGlib);
57 GSource *source = g_source_new(&userEventSourceFuncs,
sizeof(
GUserEventSource));
58 g_source_set_name(source,
"[Qt] GUserEventSource");
61 userEventSource->q = q;
64 g_source_attach(&userEventSource->source, mainContext);
70QPAEventDispatcherGlib::QPAEventDispatcherGlib(QObject *parent)
71 : QEventDispatcherGlib(*
new QPAEventDispatcherGlibPrivate, parent)
72 , m_flags(QEventLoop::AllEvents)
74 Q_D(QPAEventDispatcherGlib);
75 d->userEventSource->q =
this;
78QPAEventDispatcherGlib::~QPAEventDispatcherGlib()
80 Q_D(QPAEventDispatcherGlib);
82 g_source_destroy(&d->userEventSource->source);
83 g_source_unref(&d->userEventSource->source);
84 d->userEventSource =
nullptr;
87bool QPAEventDispatcherGlib::processEvents(QEventLoop::ProcessEventsFlags flags)
90 return QEventDispatcherGlib::processEvents(m_flags);
95#include "moc_qeventdispatcher_glib_p.cpp"
~QPAEventDispatcherGlibPrivate() override
GUserEventSource * userEventSource
Combined button and popup list for selecting options.
QPAEventDispatcherGlib * q
QPAEventDispatcherGlibPrivate * d