From b2b590ae248fbf36dd951fd93215e584d87bf2c5 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 15 May 2020 13:15:23 +0300 Subject: [PATCH] QmlDesigner: Restart overlay update timer on each request If timer is not restarted on each request, the update can end up happening before the next frame has been rendered. This can happen e.g. at puppet startup, where the delay between first request and first frame render can easily be more than 16ms. Change-Id: Ib9555548e8c60799c585d0ab43d0626cfa31a494 Fixes: QDS-2082 Reviewed-by: Thomas Hartmann --- .../qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp index f62a7e51736..7e38e31bf10 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp @@ -64,8 +64,9 @@ GeneralHelper::GeneralHelper() void GeneralHelper::requestOverlayUpdate() { - if (!m_overlayUpdateTimer.isActive()) - m_overlayUpdateTimer.start(); + // Restart the timer on each request in attempt to ensure there's one frame between the last + // request and actual update. + m_overlayUpdateTimer.start(); } QString GeneralHelper::generateUniqueName(const QString &nameRoot)