From 812af85d381ac4fcfa1e0a6b64608de9711f90bf Mon Sep 17 00:00:00 2001 From: Olivier Goffart <olivier.goffart@nokia.com> Date: Thu, 19 Aug 2010 12:47:43 +0200 Subject: [PATCH] qmlobserver: avoid to stream objects too often. Limit to once every 5 seconds --- .../qmljsdebugger/qdeclarativedesignview.cpp | 14 +++----------- .../qmljsdebugger/qdeclarativedesignview_p.h | 1 - 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp b/share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp index 5335ca38ed1..de0d21f86bf 100644 --- a/share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp +++ b/share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp @@ -53,7 +53,6 @@ namespace QmlViewer { const int SceneChangeUpdateInterval = 5000; -const int MaxSceneChangedTimerRestartCount = 15; Q_GLOBAL_STATIC(QDeclarativeDesignDebugServer, qmlDesignDebugServer) @@ -62,8 +61,7 @@ QDeclarativeDesignViewPrivate::QDeclarativeDesignViewPrivate(QDeclarativeDesignV designModeBehavior(false), executionPaused(false), slowdownFactor(1.0f), - toolbar(0), - sceneChangedTimerRestartCount(0) + toolbar(0) { sceneChangedTimer.setInterval(SceneChangeUpdateInterval); sceneChangedTimer.setSingleShot(true); @@ -536,18 +534,13 @@ void QDeclarativeDesignViewPrivate::_q_sceneChanged(const QList<QRectF> & /*area if (designModeBehavior) return; - sceneChangedTimerRestartCount++; - if (sceneChangedTimerRestartCount == MaxSceneChangedTimerRestartCount) { - _q_checkSceneItemCount(); - } - - sceneChangedTimer.start(); + if (!sceneChangedTimer.isActive()) + sceneChangedTimer.start(); } void QDeclarativeDesignViewPrivate::_q_checkSceneItemCount() { bool hasNewItems = hasNewGraphicsObjects(q->rootObject()); - sceneChangedTimerRestartCount = 0; if (hasNewItems) { qmlDesignDebugServer()->sceneItemCountChanged(); @@ -675,7 +668,6 @@ void QDeclarativeDesignViewPrivate::_q_onStatusChanged(QDeclarativeView::Status { if (status == QDeclarativeView::Ready) { if (q->rootObject()) { - sceneChangedTimerRestartCount = 0; hasNewGraphicsObjects(q->rootObject()); if (subcomponentEditorTool->contextIndex() != -1) subcomponentEditorTool->clear(); diff --git a/share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h b/share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h index c219ace26a4..54df7cf36b6 100644 --- a/share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h +++ b/share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h @@ -83,7 +83,6 @@ public: qreal slowdownFactor; QmlToolbar *toolbar; - int sceneChangedTimerRestartCount; QTimer sceneChangedTimer; QSet<QGraphicsObject *> sceneGraphicsObjects; -- GitLab