summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-06-19 11:33:04 +0100
committerMike Krus <mike.krus@kdab.com>2020-06-23 13:38:14 +0100
commitc2730dc176707c0b77321dd4720516a8595856af (patch)
tree39bb23583ae661868fc9d71584f6e687642e3904
parent6698aa9d22b116aaedf820727600e44e6fcf37a7 (diff)
Clean input event handling
- Clean up header dependencies - Remove EventSourceSettingHelper as threading is no longer an issue - Remove some locks which are no longer needed Change-Id: I071173d3b4c681f5420bd7a1f4cb13f80a9c9b2f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/core/aspects/qaspectengine.cpp1
-rw-r--r--src/input/CMakeLists.txt1
-rw-r--r--src/input/backend/backend.pri2
-rw-r--r--src/input/backend/eventsourcesetterhelper.cpp90
-rw-r--r--src/input/backend/eventsourcesetterhelper_p.h95
-rw-r--r--src/input/backend/inputhandler.cpp82
-rw-r--r--src/input/backend/inputhandler_p.h12
-rw-r--r--src/input/backend/keyboardeventfilter.cpp2
-rw-r--r--src/input/frontend/qinputaspect.cpp3
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer.cpp4
-rw-r--r--src/plugins/renderers/opengl/renderer/renderer_p.h3
-rw-r--r--src/plugins/renderers/rhi/renderer/renderer_p.h2
-rw-r--r--src/quick3d/quick3dscene2d/items/scene2d.cpp1
-rw-r--r--src/render/backend/abstractrenderer_p.h1
-rw-r--r--src/render/picking/pickeventfilter.cpp16
-rw-r--r--src/render/picking/pickeventfilter_p.h1
16 files changed, 60 insertions, 256 deletions
diff --git a/src/core/aspects/qaspectengine.cpp b/src/core/aspects/qaspectengine.cpp
index 8ede0905d..2adefbbb3 100644
--- a/src/core/aspects/qaspectengine.cpp
+++ b/src/core/aspects/qaspectengine.cpp
@@ -49,7 +49,6 @@
#include <Qt3DCore/private/corelogging_p.h>
#include <Qt3DCore/private/qaspectmanager_p.h>
#include <Qt3DCore/private/qchangearbiter_p.h>
-#include <Qt3DCore/private/qeventfilterservice_p.h>
#include <Qt3DCore/private/qnode_p.h>
#include <Qt3DCore/private/qnodevisitor_p.h>
#include <Qt3DCore/private/qscene_p.h>
diff --git a/src/input/CMakeLists.txt b/src/input/CMakeLists.txt
index 1b14d09b1..f6a605d14 100644
--- a/src/input/CMakeLists.txt
+++ b/src/input/CMakeLists.txt
@@ -19,7 +19,6 @@ qt_add_module(3DInput
backend/axissetting.cpp backend/axissetting_p.h
backend/backendnode.cpp backend/backendnode_p.h
backend/buttonaxisinput.cpp backend/buttonaxisinput_p.h
- backend/eventsourcesetterhelper.cpp backend/eventsourcesetterhelper_p.h
backend/genericdevicebackendnode.cpp backend/genericdevicebackendnode_p.h
backend/handle_types_p.h
backend/inputbackendnodefunctor_p.h
diff --git a/src/input/backend/backend.pri b/src/input/backend/backend.pri
index e1ddee9c7..2330d322f 100644
--- a/src/input/backend/backend.pri
+++ b/src/input/backend/backend.pri
@@ -31,7 +31,6 @@ HEADERS += \
$$PWD/inputchord_p.h \
$$PWD/inputsequence_p.h \
$$PWD/inputsettings_p.h \
- $$PWD/eventsourcesetterhelper_p.h \
$$PWD/job_common_p.h \
$$PWD/physicaldeviceproxy_p.h \
$$PWD/loadproxydevicejob_p.h \
@@ -68,7 +67,6 @@ SOURCES += \
$$PWD/inputchord.cpp \
$$PWD/inputsequence.cpp \
$$PWD/inputsettings.cpp \
- $$PWD/eventsourcesetterhelper.cpp \
$$PWD/physicaldeviceproxy.cpp \
$$PWD/loadproxydevicejob.cpp \
$$PWD/axisaccumulator.cpp \
diff --git a/src/input/backend/eventsourcesetterhelper.cpp b/src/input/backend/eventsourcesetterhelper.cpp
deleted file mode 100644
index fe800a1a4..000000000
--- a/src/input/backend/eventsourcesetterhelper.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "eventsourcesetterhelper_p.h"
-
-#include <Qt3DInput/private/inputhandler_p.h>
-#include <Qt3DCore/private/qeventfilterservice_p.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DInput {
-
-namespace Input {
-
-EventSourceSetterHelper::EventSourceSetterHelper(InputHandler *inputHandler)
- : QObject()
- , m_service(nullptr)
- , m_inputHandler(inputHandler)
- , m_lastEventSource(nullptr)
-{
-}
-
-// Main thread
-void EventSourceSetterHelper::setEventFilterService(Qt3DCore::QEventFilterService *service)
-{
- m_service = service;
-}
-
-// Main thread
-void EventSourceSetterHelper::setEventSource(QObject *eventSource)
-{
- if (eventSource && m_lastEventSource != eventSource) {
- if (m_service) {
- m_service->initialize(eventSource);
- m_inputHandler->registerEventFilters(m_service);
- m_lastEventSource = eventSource;
- }
- }
-}
-
-void EventSourceSetterHelper::unsetEventSource(QObject *eventSource)
-{
- if (m_service) {
- m_inputHandler->unregisterEventFilters(m_service);
- if (eventSource)
- m_service->shutdown(eventSource);
- }
-}
-
-} // Input
-
-} // Qt3DInput
-
-QT_END_NAMESPACE
diff --git a/src/input/backend/eventsourcesetterhelper_p.h b/src/input/backend/eventsourcesetterhelper_p.h
deleted file mode 100644
index b8800d8a6..000000000
--- a/src/input/backend/eventsourcesetterhelper_p.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EVENTSOURCESETTERHELPER_H
-#define EVENTSOURCESETTERHELPER_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/QMutex>
-#include <QtCore/QObject>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DCore {
-class QEventFilterService;
-}
-
-namespace Qt3DInput {
-
-namespace Input {
-
-class InputHandler;
-
-class EventSourceSetterHelper : public QObject
-{
- Q_OBJECT
-public:
- explicit EventSourceSetterHelper(InputHandler *inputHandler);
-
- // Called from aspect thread
- void setEventFilterService(Qt3DCore::QEventFilterService *service);
-
- // Called from main thread
- void setEventSource(QObject *eventSource);
- void unsetEventSource(QObject *eventSource);
-
-private:
- Qt3DCore::QEventFilterService *m_service;
- InputHandler *m_inputHandler;
- QObject *m_lastEventSource;
- QMutex m_mutex;
-};
-
-} // Input
-
-} // Qt3DInput
-
-QT_END_NAMESPACE
-
-#endif // EVENTSOURCESETTERHELPER_H
diff --git a/src/input/backend/inputhandler.cpp b/src/input/backend/inputhandler.cpp
index adaaebc88..6c9b7a533 100644
--- a/src/input/backend/inputhandler.cpp
+++ b/src/input/backend/inputhandler.cpp
@@ -40,7 +40,6 @@
#include "inputhandler_p.h"
#include <Qt3DInput/private/assignkeyboardfocusjob_p.h>
-#include <Qt3DInput/private/eventsourcesetterhelper_p.h>
#include <Qt3DInput/private/inputmanagers_p.h>
#include <Qt3DInput/private/inputsettings_p.h>
#include <Qt3DInput/private/keyboardeventfilter_p.h>
@@ -77,13 +76,11 @@ InputHandler::InputHandler()
, m_genericPhysicalDeviceBackendNodeManager(new GenericDeviceBackendNodeManager)
, m_physicalDeviceProxyManager(new PhysicalDeviceProxyManager())
, m_settings(nullptr)
- , m_eventSourceSetter(new Qt3DInput::Input::EventSourceSetterHelper(this))
+ , m_service(nullptr)
+ , m_lastEventSource(nullptr)
{
m_keyboardEventFilter->setInputHandler(this);
m_mouseEventFilter->setInputHandler(this);
-
- // Created in the main thread
- // m_eventSourceSetter needs to be in the main thread
}
InputHandler::~InputHandler()
@@ -109,19 +106,56 @@ InputHandler::~InputHandler()
}
// Called in MainThread (by the EventSourceHelperSetter)
-void InputHandler::registerEventFilters(QEventFilterService *service)
+void InputHandler::registerEventFilters()
{
clearPendingKeyEvents();
clearPendingMouseEvents();
- service->registerEventFilter(m_keyboardEventFilter, 512);
- service->registerEventFilter(m_mouseEventFilter, 513);
+ if (m_service) {
+ m_service->registerEventFilter(m_keyboardEventFilter, 512);
+ m_service->registerEventFilter(m_mouseEventFilter, 513);
+ }
+}
+
+void InputHandler::unregisterEventFilters()
+{
+ if (m_service) {
+ m_service->unregisterEventFilter(m_keyboardEventFilter);
+ m_service->unregisterEventFilter(m_mouseEventFilter);
+ }
+}
+
+void InputHandler::setInputSettings(InputSettings *settings)
+{
+ if (m_settings && settings == nullptr) {
+ unregisterEventFilters();
+ m_lastEventSource = nullptr;
+ if (m_settings->eventSource() && m_service)
+ m_service->shutdown(m_settings->eventSource());
+ }
+ if (m_service) {
+ unregisterEventFilters();
+ if (m_settings && m_settings->eventSource())
+ m_service->shutdown(m_settings->eventSource());
+ }
+ m_settings = settings;
}
-void InputHandler::unregisterEventFilters(Qt3DCore::QEventFilterService *service)
+void InputHandler::updateEventSource()
{
- service->unregisterEventFilter(m_keyboardEventFilter);
- service->unregisterEventFilter(m_mouseEventFilter);
+ // Called every frame from input aspect
+ // Should probably just listen to changes in source property on settings object
+ if (!m_settings || !m_service)
+ return;
+
+ // Will be updated only if eventSource is different than
+ // what was set last
+ QObject *eventSource = m_settings->eventSource();
+ if (eventSource && m_lastEventSource != eventSource) {
+ m_service->initialize(eventSource);
+ registerEventFilters();
+ m_lastEventSource = eventSource;
+ }
}
// Called by the keyboardEventFilter in the main thread
@@ -297,23 +331,6 @@ void InputHandler::addInputDeviceIntegration(QInputDeviceIntegration *inputInteg
m_inputDeviceIntegrations.push_back(inputIntegration);
}
-void InputHandler::setInputSettings(InputSettings *settings)
-{
- if (m_settings && settings == nullptr)
- m_eventSourceSetter->unsetEventSource(m_settings->eventSource());
- m_settings = settings;
-}
-
-void InputHandler::setEventSourceHelper(EventSourceSetterHelper *helper)
-{
- m_eventSourceSetter.reset(helper);
-}
-
-EventSourceSetterHelper *InputHandler::eventSourceHelper() const
-{
- return m_eventSourceSetter.data();
-}
-
QAbstractPhysicalDevice *Qt3DInput::Input::InputHandler::createPhysicalDevice(const QString &name)
{
QAbstractPhysicalDevice *device = nullptr;
@@ -324,14 +341,9 @@ QAbstractPhysicalDevice *Qt3DInput::Input::InputHandler::createPhysicalDevice(co
return device;
}
-void InputHandler::updateEventSource()
+void Qt3DInput::Input::InputHandler::setEventFilterService(QEventFilterService *service)
{
- if (m_settings != nullptr) {
- // Will be updated only if eventSource is different than
- // what was set last
- QObject *eventSource = m_settings->eventSource();
- m_eventSourceSetter->setEventSource(eventSource);
- }
+ m_service = service;
}
AbstractActionInput *InputHandler::lookupActionInput(Qt3DCore::QNodeId id) const
diff --git a/src/input/backend/inputhandler_p.h b/src/input/backend/inputhandler_p.h
index a2a38262d..d83a77a1d 100644
--- a/src/input/backend/inputhandler_p.h
+++ b/src/input/backend/inputhandler_p.h
@@ -93,7 +93,6 @@ class GenericPhysicalDeviceManager;
class GenericDeviceBackendNodeManager;
class PhysicalDeviceProxyManager;
class InputSettings;
-class EventSourceSetterHelper;
class Q_AUTOTEST_EXPORT InputHandler
{
@@ -149,12 +148,11 @@ public:
void addInputDeviceIntegration(QInputDeviceIntegration *inputIntegration);
void setInputSettings(InputSettings *settings);
- void setEventSourceHelper(EventSourceSetterHelper *helper);
- EventSourceSetterHelper *eventSourceHelper() const;
QAbstractPhysicalDevice *createPhysicalDevice(const QString &name);
void updateEventSource();
+ void setEventFilterService(Qt3DCore::QEventFilterService *service);
AbstractActionInput *lookupActionInput(Qt3DCore::QNodeId id) const;
@@ -191,11 +189,11 @@ private:
PhysicalDeviceProxyManager *m_physicalDeviceProxyManager;
QVector<Qt3DInput::QInputDeviceIntegration *> m_inputDeviceIntegrations;
InputSettings *m_settings;
- QScopedPointer<EventSourceSetterHelper> m_eventSourceSetter;
+ Qt3DCore::QEventFilterService *m_service;
+ QObject *m_lastEventSource;
- void registerEventFilters(Qt3DCore::QEventFilterService *service);
- void unregisterEventFilters(Qt3DCore::QEventFilterService *service);
- friend class EventSourceSetterHelper;
+ void registerEventFilters();
+ void unregisterEventFilters();
};
} // namespace Input
diff --git a/src/input/backend/keyboardeventfilter.cpp b/src/input/backend/keyboardeventfilter.cpp
index e4f47f08e..53168e601 100644
--- a/src/input/backend/keyboardeventfilter.cpp
+++ b/src/input/backend/keyboardeventfilter.cpp
@@ -65,7 +65,7 @@ void KeyboardEventFilter::setInputHandler(InputHandler *handler)
// Triggered in the view thread (usually the main thread)
bool KeyboardEventFilter::eventFilter(QObject *obj, QEvent *e)
{
- Q_UNUSED(obj);
+ Q_UNUSED(obj)
if (e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease) {
// Store event to be processed later on in an InputAspect job
m_inputHandler->appendKeyEvent(QT_PREPEND_NAMESPACE(QKeyEvent)(*static_cast<QT_PREPEND_NAMESPACE(QKeyEvent) *>(e)));
diff --git a/src/input/frontend/qinputaspect.cpp b/src/input/frontend/qinputaspect.cpp
index 260af5677..20e325db7 100644
--- a/src/input/frontend/qinputaspect.cpp
+++ b/src/input/frontend/qinputaspect.cpp
@@ -69,7 +69,6 @@
#include <Qt3DInput/private/axisaccumulatorjob_p.h>
#include <Qt3DInput/private/axissetting_p.h>
#include <Qt3DInput/private/buttonaxisinput_p.h>
-#include <Qt3DInput/private/eventsourcesetterhelper_p.h>
#include <Qt3DInput/private/genericdevicebackendnode_p.h>
#include <Qt3DInput/private/inputbackendnodefunctor_p.h>
#include <Qt3DInput/private/inputchord_p.h>
@@ -290,7 +289,7 @@ void QInputAspect::onRegistered()
Q_ASSERT(eventService);
// Set it on the input handler which will also handle its lifetime
- d->m_inputHandler->eventSourceHelper()->setEventFilterService(eventService);
+ d->m_inputHandler->setEventFilterService(eventService);
}
/*!
diff --git a/src/plugins/renderers/opengl/renderer/renderer.cpp b/src/plugins/renderers/opengl/renderer/renderer.cpp
index e32e8d8ad..effc57681 100644
--- a/src/plugins/renderers/opengl/renderer/renderer.cpp
+++ b/src/plugins/renderers/opengl/renderer/renderer.cpp
@@ -71,7 +71,7 @@
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
#include <Qt3DRender/private/techniquemanager_p.h>
-#include <Qt3DRender/private/platformsurfacefilter_p.h>
+#include <Qt3DRender/private/platformsurfacefilter_p.h> // for SurfaceLocker
#include <Qt3DRender/private/rendercapture_p.h>
#include <Qt3DRender/private/updatelevelofdetailjob_p.h>
#include <Qt3DRender/private/buffercapture_p.h>
@@ -1692,7 +1692,6 @@ Renderer::ViewSubmissionResultData Renderer::submitRenderViews(const QVector<Ren
}
{
- QMutexLocker l(&m_frameEventsMutex);
for (auto &keyEvent: m_frameKeyEvents)
m_imGuiRenderer->processEvent(&keyEvent);
for (auto &mouseEvent: m_frameMouseEvents)
@@ -1794,7 +1793,6 @@ void Renderer::jobsDone(Qt3DCore::QAspectManager *manager)
void Renderer::setPendingEvents(const QList<QPair<QObject *, QMouseEvent> > &mouseEvents, const QList<QKeyEvent> &keyEvents)
{
- QMutexLocker l(&m_frameEventsMutex);
m_frameMouseEvents = mouseEvents;
m_frameKeyEvents = keyEvents;
}
diff --git a/src/plugins/renderers/opengl/renderer/renderer_p.h b/src/plugins/renderers/opengl/renderer/renderer_p.h
index b8b38b944..13d9e7d89 100644
--- a/src/plugins/renderers/opengl/renderer/renderer_p.h
+++ b/src/plugins/renderers/opengl/renderer/renderer_p.h
@@ -61,7 +61,6 @@
#include <Qt3DRender/private/rendersettings_p.h>
#include <Qt3DRender/private/updateshaderdatatransformjob_p.h>
#include <Qt3DRender/private/framecleanupjob_p.h>
-#include <Qt3DRender/private/platformsurfacefilter_p.h>
#include <Qt3DRender/private/sendbuffercapturejob_p.h>
#include <Qt3DRender/private/genericlambdajob_p.h>
#include <Qt3DRender/private/shaderbuilder_p.h>
@@ -104,7 +103,6 @@ class QScreen;
namespace Qt3DCore {
class QEntity;
-class QEventFilterService;
}
namespace Qt3DRender {
@@ -421,7 +419,6 @@ private:
Debug::ImGuiRenderer *m_imGuiRenderer;
QList<QPair<QObject *, QMouseEvent>> m_frameMouseEvents;
QList<QKeyEvent> m_frameKeyEvents;
- QMutex m_frameEventsMutex;
int m_jobsInLastFrame;
};
diff --git a/src/plugins/renderers/rhi/renderer/renderer_p.h b/src/plugins/renderers/rhi/renderer/renderer_p.h
index 0e4c969c2..24906d955 100644
--- a/src/plugins/renderers/rhi/renderer/renderer_p.h
+++ b/src/plugins/renderers/rhi/renderer/renderer_p.h
@@ -61,7 +61,6 @@
#include <Qt3DRender/private/rendersettings_p.h>
#include <Qt3DRender/private/updateshaderdatatransformjob_p.h>
#include <Qt3DRender/private/framecleanupjob_p.h>
-#include <Qt3DRender/private/platformsurfacefilter_p.h>
#include <Qt3DRender/private/sendbuffercapturejob_p.h>
#include <Qt3DRender/private/genericlambdajob_p.h>
#include <Qt3DRender/private/shaderbuilder_p.h>
@@ -108,7 +107,6 @@ class QScreen;
namespace Qt3DCore {
class QEntity;
class QFrameAllocator;
-class QEventFilterService;
}
namespace Qt3DRender {
diff --git a/src/quick3d/quick3dscene2d/items/scene2d.cpp b/src/quick3d/quick3dscene2d/items/scene2d.cpp
index 0e4db3485..d3cacda3e 100644
--- a/src/quick3d/quick3dscene2d/items/scene2d.cpp
+++ b/src/quick3d/quick3dscene2d/items/scene2d.cpp
@@ -59,7 +59,6 @@
#include <private/qpickevent_p.h>
#include <private/qpicktriangleevent_p.h>
#include <private/entity_p.h>
-#include <private/platformsurfacefilter_p.h>
#include <private/trianglesvisitor_p.h>
diff --git a/src/render/backend/abstractrenderer_p.h b/src/render/backend/abstractrenderer_p.h
index 0dd24dcd8..0639d7043 100644
--- a/src/render/backend/abstractrenderer_p.h
+++ b/src/render/backend/abstractrenderer_p.h
@@ -72,7 +72,6 @@ class QKeyEvent;
namespace Qt3DCore {
class QAbstractFrameAdvanceService;
-class QEventFilterService;
class QAbstractAspectJobManager;
class QServiceLocator;
class QAspectManager;
diff --git a/src/render/picking/pickeventfilter.cpp b/src/render/picking/pickeventfilter.cpp
index 856728366..e4f31a9b2 100644
--- a/src/render/picking/pickeventfilter.cpp
+++ b/src/render/picking/pickeventfilter.cpp
@@ -39,7 +39,6 @@
#include "pickeventfilter_p.h"
-#include <QtCore/QMutexLocker>
#include <QtGui/QHoverEvent>
QT_BEGIN_NAMESPACE
@@ -64,7 +63,6 @@ PickEventFilter::~PickEventFilter()
*/
QList<QPair<QObject *, QMouseEvent> > PickEventFilter::pendingMouseEvents()
{
- QMutexLocker locker(&m_mutex);
QList<QPair<QObject*, QMouseEvent>> pendingEvents(m_pendingMouseEvents);
m_pendingMouseEvents.clear();
return pendingEvents;
@@ -72,7 +70,6 @@ QList<QPair<QObject *, QMouseEvent> > PickEventFilter::pendingMouseEvents()
QList<QKeyEvent> PickEventFilter::pendingKeyEvents()
{
- QMutexLocker locker(&m_mutex);
QList<QKeyEvent> pendingEvents(m_pendingKeyEvents);
m_pendingKeyEvents.clear();
return pendingEvents;
@@ -88,22 +85,19 @@ bool PickEventFilter::eventFilter(QObject *obj, QEvent *e)
switch (e->type()) {
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease:
- case QEvent::MouseMove: {
- QMutexLocker locker(&m_mutex);
+ case QEvent::MouseMove:
m_pendingMouseEvents.push_back({obj, QMouseEvent(*static_cast<QMouseEvent *>(e))});
- } break;
+ break;
case QEvent::HoverMove: {
- QMutexLocker locker(&m_mutex);
QHoverEvent *he = static_cast<QHoverEvent *>(e);
m_pendingMouseEvents.push_back({obj, QMouseEvent(QEvent::MouseMove,
he->position(), Qt::NoButton, Qt::NoButton,
he->modifiers())});
- } break;
+ } break;
case QEvent::KeyPress:
- case QEvent::KeyRelease: {
- QMutexLocker locker(&m_mutex);
+ case QEvent::KeyRelease:
m_pendingKeyEvents.push_back(QKeyEvent(*static_cast<QKeyEvent *>(e)));
- }
+ break;
default:
break;
}
diff --git a/src/render/picking/pickeventfilter_p.h b/src/render/picking/pickeventfilter_p.h
index 81ba6a9f4..cf765dd1e 100644
--- a/src/render/picking/pickeventfilter_p.h
+++ b/src/render/picking/pickeventfilter_p.h
@@ -79,7 +79,6 @@ protected:
private:
QList<QPair<QObject*, QMouseEvent>> m_pendingMouseEvents;
QList<QKeyEvent> m_pendingKeyEvents;
- QMutex m_mutex;
};
} // Render