Exemplo n.º 1
0
void AsyncEventListener :: customEvent(QEvent* event)
{
  if (event->type() != QEvent::User)
    return QObject::customEvent(event);

  event->accept();
  m_handler_running = true;
  while (m_event_signaled)
  {
    m_event_signaled = false;
    handleAsyncEvent();
    QApplication::processEvents();
  }
  m_handler_running = false;
}
Exemplo n.º 2
0
void AsyncEventListener :: customEvent(QEvent* generic_event)
{
    if (generic_event->type() != QEvent::User)
        return QObject::customEvent(generic_event);

    generic_event->accept();
    m_handler_running = true;
    while (m_event_signaled)
    {
        m_event_signaled = false;
        Event event = waitForNewEvent();
        handleAsyncEvent(event);
        // FIXME: this is important on Windows to avoid the application
        // spending all its time handling these custom events.
        QApplication::processEvents();
    }
    m_handler_running = false;
}