QCoreApplication: make removeNativeEventFilter() remove from main thread
installNativeEventFilter() always installs on the main thread, so match it. [ChangeLog][QtCore][QCoreApplication] Fixed a mismatch on which event dispatcher was modified between installNativeEventFilter() and removeNativeEventFilter(). Now both functions in QCoreApplication access the main thread's event dispatcher. To access the current thread's dispatcher, use QAbstractEventDispatcher's functions. Fixes: QTBUG-124783 Pick-to: 6.5 6.7 Change-Id: I6979d02a7395405cbf23fffd17ca09e1ac43f1f3 Reviewed-by: David Faure <david.faure@kdab.com>bb10
parent
ab2f4ef8fa
commit
ed70faf87a
|
|
@ -3251,7 +3251,7 @@ void QCoreApplication::installNativeEventFilter(QAbstractNativeEventFilter *filt
|
|||
*/
|
||||
void QCoreApplication::removeNativeEventFilter(QAbstractNativeEventFilter *filterObject)
|
||||
{
|
||||
QAbstractEventDispatcher *eventDispatcher = QAbstractEventDispatcher::instance();
|
||||
QAbstractEventDispatcher *eventDispatcher = QAbstractEventDispatcher::instance(QCoreApplicationPrivate::theMainThread.loadAcquire());
|
||||
if (!filterObject || !eventDispatcher)
|
||||
return;
|
||||
eventDispatcher->removeNativeEventFilter(filterObject);
|
||||
|
|
|
|||
Loading…
Reference in New Issue