summaryrefslogtreecommitdiffstats
path: root/src/core/services/qeventfilterservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/services/qeventfilterservice.cpp')
-rw-r--r--src/core/services/qeventfilterservice.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/services/qeventfilterservice.cpp b/src/core/services/qeventfilterservice.cpp
index c9a74a173..6cfb3dd3a 100644
--- a/src/core/services/qeventfilterservice.cpp
+++ b/src/core/services/qeventfilterservice.cpp
@@ -144,8 +144,12 @@ QEventFilterService::~QEventFilterService()
void QEventFilterService::initialize(QObject *eventSource)
{
Q_D(QEventFilterService);
- d->m_eventDispatcher.reset(new InternalEventListener());
- eventSource->installEventFilter(d->m_eventDispatcher.data());
+ if (eventSource == Q_NULLPTR) {
+ d->m_eventDispatcher.reset();
+ } else {
+ d->m_eventDispatcher.reset(new InternalEventListener());
+ eventSource->installEventFilter(d->m_eventDispatcher.data());
+ }
}
void QEventFilterService::registerEventFilter(QObject *eventFilter, int priority)