summaryrefslogtreecommitdiffstats
path: root/src/corelib/statemachine/qstatemachine.cpp
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-04-28 11:29:37 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-04-29 06:29:47 (GMT)
commit4f6b9b1779fe33f876f96c196c3feef7e72992a0 (patch)
tree3131513d79437f85ba411a4c5fe12143b1d62504 /src/corelib/statemachine/qstatemachine.cpp
parent9c28c75052a38eb3b317c2ac7ad2a26c73deeb2d (diff)
downloadQt-4f6b9b1779fe33f876f96c196c3feef7e72992a0.zip
Qt-4f6b9b1779fe33f876f96c196c3feef7e72992a0.tar.gz
Qt-4f6b9b1779fe33f876f96c196c3feef7e72992a0.tar.bz2
move assignProperty() to QState
Doesn't belong in the abstract base class.
Diffstat (limited to 'src/corelib/statemachine/qstatemachine.cpp')
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp
index 632390f..1434bc0 100644
--- a/src/corelib/statemachine/qstatemachine.cpp
+++ b/src/corelib/statemachine/qstatemachine.cpp
@@ -40,6 +40,8 @@
****************************************************************************/
#include "qstatemachine.h"
+#include "qstate.h"
+#include "qstate_p.h"
#include "qstatemachine_p.h"
#include "qabstracttransition.h"
#include "qabstracttransition_p.h"
@@ -52,8 +54,6 @@
#include "qfinalstate.h"
#include "qhistorystate.h"
#include "qhistorystate_p.h"
-#include "qstate.h"
-#include "qstate_p.h"
#ifndef QT_STATEMACHINE_SOLUTION
#include "private/qobject_p.h"
#include "private/qthread_p.h"
@@ -641,9 +641,11 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
QList<QPropertyAssignment> propertyAssignments;
QHash<RestorableId, QVariant> pendingRestorables = registeredRestorables;
for (int i = 0; i < enteredStates.size(); ++i) {
- QAbstractState *s = enteredStates.at(i);
+ QState *s = qobject_cast<QState*>(enteredStates.at(i));
+ if (!s)
+ continue;
- QList<QPropertyAssignment> assignments = QAbstractStatePrivate::get(s)->propertyAssignments;
+ QList<QPropertyAssignment> assignments = QStatePrivate::get(s)->propertyAssignments;
for (int j = 0; j < assignments.size(); ++j) {
const QPropertyAssignment &assn = assignments.at(j);
if (globalRestorePolicy == QStateMachine::RestoreProperties) {
@@ -1487,7 +1489,7 @@ void QStateMachine::setErrorState(QAbstractState *state)
\value RestoreProperties The state machine should save the initial values of properties
and restore them later.
- \sa setRestorePolicy(), restorePolicy(), QAbstractState::assignProperty()
+ \sa setRestorePolicy(), restorePolicy(), QState::assignProperty()
*/