Commit ed080780 authored by Martin Flöser's avatar Martin Flöser
Browse files

[server] Make Display::dispatchEvents also work when event loop is started

Just delegates to dispatch in the d-ptr if the Display is already running.
parent b7e8611e
......@@ -150,10 +150,13 @@ void Display::startLoop()
void Display::dispatchEvents(int msecTimeout)
{
Q_ASSERT(!d->running);
Q_ASSERT(d->display);
wl_event_loop_dispatch(d->loop, msecTimeout);
wl_display_flush_clients(d->display);
if (d->running) {
d->dispatch();
} else {
wl_event_loop_dispatch(d->loop, msecTimeout);
wl_display_flush_clients(d->display);
}
}
void Display::terminate()
......
......@@ -81,7 +81,8 @@ public:
/**
* Dispatches pending events in a blocking way. May only be used if the Display is
* created and started before the QCoreApplication is created. Once the QCoreApplication
* is created and the event loop is started this method may no longer be invoked.
* is created and the event loop is started this method delegates to the normal dispatch
* handling.
* @see startLoop
**/
void dispatchEvents(int msecTimeout = -1);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment