void QWinEventNotifier::setEnabled(bool enable) { Q_D(QWinEventNotifier); if (d->enabled == enable) // no change return; d->enabled = enable; QAbstractEventDispatcher *eventDispatcher = d->threadData->eventDispatcher; if (!eventDispatcher) // perhaps application is shutting down return; if (enable) eventDispatcher->registerEventNotifier(this); else eventDispatcher->unregisterEventNotifier(this); }
void QWinEventNotifier::setEnabled(bool enable) { Q_D(QWinEventNotifier); if (d->enabled == enable) // no change return; d->enabled = enable; QAbstractEventDispatcher *eventDispatcher = d->threadData->eventDispatcher.load(); if (!eventDispatcher) // perhaps application is shutting down return; if (Q_UNLIKELY(thread() != QThread::currentThread())) { qWarning("QWinEventNotifier: Event notifiers cannot be enabled or disabled from another thread"); return; } if (enable) eventDispatcher->registerEventNotifier(this); else eventDispatcher->unregisterEventNotifier(this); }