summaryrefslogtreecommitdiffstats
path: root/src/extras/defaults
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2019-09-27 15:09:00 +0100
committerMike Krus <mike.krus@kdab.com>2019-09-30 07:56:13 +0100
commitc40cccb0b4485045db61c2d4e825e33a68c58861 (patch)
tree9cbdd1615a505e7e936cb1915b6a0bac7e8208d1 /src/extras/defaults
parentbd3aa578b8d822840fc3d4a6ef819b29b2c26034 (diff)
Reset input axis changes when enabling camera controller
When input axis are enabled or disable, we now reset the value to 0. And enabling or disabling the camera controller, we now do the same for the axis. This prevents residual movement when re-enabling the controller due to the asynchronous updates. Task-number: QTBUG-77996 Change-Id: I5ac016d5b708e1f8d8eaa996bbd28c00c0f05e79 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/extras/defaults')
-rw-r--r--src/extras/defaults/qabstractcameracontroller.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/extras/defaults/qabstractcameracontroller.cpp b/src/extras/defaults/qabstractcameracontroller.cpp
index 27df65d7b..c8ebf42f3 100644
--- a/src/extras/defaults/qabstractcameracontroller.cpp
+++ b/src/extras/defaults/qabstractcameracontroller.cpp
@@ -211,6 +211,10 @@ void QAbstractCameraControllerPrivate::init()
m_logicalDevice, &Qt3DInput::QLogicalDevice::setEnabled);
QObject::connect(q, &Qt3DCore::QEntity::enabledChanged,
m_frameAction, &Qt3DLogic::QFrameAction::setEnabled);
+ for (auto axis: {m_rxAxis, m_ryAxis, m_txAxis, m_tyAxis, m_tzAxis}) {
+ QObject::connect(q, &Qt3DCore::QEntity::enabledChanged,
+ axis, &Qt3DInput::QAxis::setEnabled);
+ }
QObject::connect(m_escapeButtonAction, &Qt3DInput::QAction::activeChanged,
q, [this](bool isActive) {