summaryrefslogtreecommitdiffstats
path: root/src/render/jobs/pickboundingvolumejob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/jobs/pickboundingvolumejob.cpp')
-rw-r--r--src/render/jobs/pickboundingvolumejob.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp
index e0f4c8bf0..2420ce439 100644
--- a/src/render/jobs/pickboundingvolumejob.cpp
+++ b/src/render/jobs/pickboundingvolumejob.cpp
@@ -211,7 +211,11 @@ void PickBoundingVolumeJob::setRoot(Entity *root)
bool PickBoundingVolumeJob::processMouseEvent(QObject* object, QMouseEvent *event)
{
- m_pendingMouseEvents.emplace_back(object, QMouseEvent(*event));
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ m_pendingMouseEvents.emplace_back(object, std::unique_ptr<QMouseEvent>(static_cast<QMouseEvent *>(event->clone())));
+#else
+ m_pendingMouseEvents.emplace_back(object, new QMouseEvent(*event));
+#endif
return false;
}
@@ -254,7 +258,7 @@ bool PickBoundingVolumeJob::runHelper()
bool hasOtherEvent = false;
// Quickly look which types of events we've got
for (const auto &event : mouseEvents) {
- const bool isMove = (event.second.type() == QEvent::MouseMove);
+ const bool isMove = (event.second->type() == QEvent::MouseMove);
hasMoveEvent |= isMove;
hasOtherEvent |= !isMove;
}
@@ -290,7 +294,7 @@ bool PickBoundingVolumeJob::runHelper()
// For each mouse event
for (const auto &event : mouseEvents)
- processPickEvent(pickConfiguration, event.first, &event.second);
+ processPickEvent(pickConfiguration, event.first, event.second.get());
// Clear Hovered elements that needs to be cleared
// Send exit event to object pickers on which we