diff options
Diffstat (limited to 'src/core/services/qeventfilterservice.cpp')
-rw-r--r-- | src/core/services/qeventfilterservice.cpp | 8 |
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) |