diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-06-14 01:54:13 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-07-13 10:36:28 +0000 |
commit | a89c62c17d9c7db6548616789c7b20759680e6a0 (patch) | |
tree | 6bfd7e907413d9d7a8549b8b60bda1d1bb0e8e9e /src/corelib/statemachine/qstatemachine_p.h | |
parent | fa4b57e8c5a82cb1e16c44a3c170850cb6bb6f24 (diff) |
QStateMachinePrivate: replace an inefficient QList with QVector
QPropertyAssignment is larger as a void*, and wasn't marked as
movable, so QList<QPropertyAssignment> is horribly inefficient.
Fix by marking it movable and using a QVector.
Change-Id: I34e21e3f28f64dd8b187c144fb5bee022414216b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/statemachine/qstatemachine_p.h')
-rw-r--r-- | src/corelib/statemachine/qstatemachine_p.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/statemachine/qstatemachine_p.h b/src/corelib/statemachine/qstatemachine_p.h index 66b615bb31..34b084b610 100644 --- a/src/corelib/statemachine/qstatemachine_p.h +++ b/src/corelib/statemachine/qstatemachine_p.h @@ -134,7 +134,7 @@ public: virtual void beginMacrostep(); virtual void endMacrostep(bool didChange); void exitStates(QEvent *event, const QList<QAbstractState *> &statesToExit_sorted, - const QHash<QAbstractState*, QList<QPropertyAssignment> > &assignmentsForEnteredStates); + const QHash<QAbstractState*, QVector<QPropertyAssignment> > &assignmentsForEnteredStates); QList<QAbstractState*> computeExitSet(const QList<QAbstractTransition*> &enabledTransitions, CalculationCache *cache); QSet<QAbstractState*> computeExitSet_Unordered(const QList<QAbstractTransition*> &enabledTransitions, CalculationCache *cache); QSet<QAbstractState*> computeExitSet_Unordered(QAbstractTransition *t, CalculationCache *cache); @@ -142,7 +142,7 @@ public: void enterStates(QEvent *event, const QList<QAbstractState*> &exitedStates_sorted, const QList<QAbstractState*> &statesToEnter_sorted, const QSet<QAbstractState*> &statesForDefaultEntry, - QHash<QAbstractState *, QList<QPropertyAssignment> > &propertyAssignmentsForState + QHash<QAbstractState *, QVector<QPropertyAssignment> > &propertyAssignmentsForState #ifndef QT_NO_ANIMATION , const QList<QAbstractAnimation*> &selectedAnimations #endif @@ -233,9 +233,9 @@ public: const QVariant &value); void unregisterRestorables(const QList<QAbstractState*> &states, QObject *object, const QByteArray &propertyName); - QList<QPropertyAssignment> restorablesToPropertyList(const QHash<RestorableId, QVariant> &restorables) const; + QVector<QPropertyAssignment> restorablesToPropertyList(const QHash<RestorableId, QVariant> &restorables) const; QHash<RestorableId, QVariant> computePendingRestorables(const QList<QAbstractState*> &statesToExit_sorted) const; - QHash<QAbstractState*, QList<QPropertyAssignment> > computePropertyAssignments( + QHash<QAbstractState*, QVector<QPropertyAssignment> > computePropertyAssignments( const QList<QAbstractState*> &statesToEnter_sorted, QHash<RestorableId, QVariant> &pendingRestorables) const; #endif @@ -276,10 +276,10 @@ public: QList<QAbstractAnimation *> selectAnimations(const QList<QAbstractTransition *> &transitionList) const; void terminateActiveAnimations(QAbstractState *state, - const QHash<QAbstractState*, QList<QPropertyAssignment> > &assignmentsForEnteredStates); + const QHash<QAbstractState*, QVector<QPropertyAssignment> > &assignmentsForEnteredStates); void initializeAnimations(QAbstractState *state, const QList<QAbstractAnimation*> &selectedAnimations, const QList<QAbstractState *> &exitedStates_sorted, - QHash<QAbstractState *, QList<QPropertyAssignment> > &assignmentsForEnteredStates); + QHash<QAbstractState *, QVector<QPropertyAssignment> > &assignmentsForEnteredStates); #endif // QT_NO_ANIMATION QSignalEventGenerator *signalEventGenerator; |