diff options
author | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2016-01-19 13:29:15 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2016-01-28 16:24:46 +0000 |
commit | 3a30a2fcb3f026ffba4d9484ad92479419d79547 (patch) | |
tree | 9e286d3535150eececb3e1cb922042e77bbfebc2 /src/corelib/statemachine/qfinalstate.cpp | |
parent | 97b448b152f0148adb2426c2a4e1f83dd150db3c (diff) |
Allow QFinalStatePrivate to be subclassed.
- put it in a separate private header
- add a protected QFinalState constructor that takes a
QFinalStatePrivate
- when passing through, also export QStatePrivate, so the linker can
find the symbol
Change-Id: I8563da16739731d9d6142be438a8769fc29de148
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib/statemachine/qfinalstate.cpp')
-rw-r--r-- | src/corelib/statemachine/qfinalstate.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/corelib/statemachine/qfinalstate.cpp b/src/corelib/statemachine/qfinalstate.cpp index ea96cc64c4..7e159ec1d1 100644 --- a/src/corelib/statemachine/qfinalstate.cpp +++ b/src/corelib/statemachine/qfinalstate.cpp @@ -31,12 +31,10 @@ ** ****************************************************************************/ -#include "qfinalstate.h" +#include "qfinalstate_p.h" #ifndef QT_NO_STATEMACHINE -#include "qabstractstate_p.h" - QT_BEGIN_NAMESPACE /*! @@ -76,19 +74,16 @@ QT_BEGIN_NAMESPACE \sa QState::finished() */ -class QFinalStatePrivate : public QAbstractStatePrivate -{ - Q_DECLARE_PUBLIC(QFinalState) - -public: - QFinalStatePrivate(); -}; - QFinalStatePrivate::QFinalStatePrivate() : QAbstractStatePrivate(FinalState) { } +QFinalStatePrivate::~QFinalStatePrivate() +{ + // to prevent vtables being generated in every file that includes the private header +} + /*! Constructs a new QFinalState object with the given \a parent state. */ @@ -98,6 +93,15 @@ QFinalState::QFinalState(QState *parent) } /*! + \internal + */ +QFinalState::QFinalState(QFinalStatePrivate &dd, QState *parent) + : QAbstractState(dd, parent) +{ +} + + +/*! Destroys this final state. */ QFinalState::~QFinalState() |