8#include "qplatformdefs.h"
11#include "private/qguiapplication_p.h"
26 return userEventSource
->d->wakeUpCalled;
31 return userEventSourcePrepare(source,
nullptr);
37 QPAEventDispatcherGlib *dispatcher = userEventSource->q;
38 QWindowSystemInterface::sendWindowSystemEvents(dispatcher->m_flags);
43 userEventSourcePrepare,
45 userEventSourceDispatch,
52 : QEventDispatcherGlibPrivate(context)
54 Q_Q(QPAEventDispatcherGlib);
56 GSource *source = g_source_new(&userEventSourceFuncs,
sizeof(
GUserEventSource));
57 g_source_set_name(source,
"[Qt] GUserEventSource");
60 userEventSource->q = q;
63 g_source_attach(&userEventSource->source, mainContext);
69QPAEventDispatcherGlib::QPAEventDispatcherGlib(QObject *parent)
70 : QEventDispatcherGlib(*
new QPAEventDispatcherGlibPrivate, parent)
71 , m_flags(QEventLoop::AllEvents)
73 Q_D(QPAEventDispatcherGlib);
74 d->userEventSource->q =
this;
77QPAEventDispatcherGlib::~QPAEventDispatcherGlib()
79 Q_D(QPAEventDispatcherGlib);
81 g_source_destroy(&d->userEventSource->source);
82 g_source_unref(&d->userEventSource->source);
83 d->userEventSource =
nullptr;
86bool QPAEventDispatcherGlib::processEvents(QEventLoop::ProcessEventsFlags flags)
89 return QEventDispatcherGlib::processEvents(m_flags);
94#include "moc_qeventdispatcher_glib_p.cpp"
~QPAEventDispatcherGlibPrivate() override
GUserEventSource * userEventSource
Combined button and popup list for selecting options.
QPAEventDispatcherGlib * q
QPAEventDispatcherGlibPrivate * d