From b926476e5538d3063fce942e107e2ef38772aa74 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Tue, 6 Sep 2022 07:57:08 +0200 Subject: [PATCH] QskHintAnimatorTable::isEmpty added --- src/controls/QskHintAnimator.cpp | 6 +++--- src/controls/QskHintAnimator.h | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/controls/QskHintAnimator.cpp b/src/controls/QskHintAnimator.cpp index b0abd4b3..0ccf387c 100644 --- a/src/controls/QskHintAnimator.cpp +++ b/src/controls/QskHintAnimator.cpp @@ -204,13 +204,11 @@ namespace class QskHintAnimatorTable::PrivateData { public: - // we won't have many entries, so we prefer less memory over - // using a hash table + // we could use a std::set< QskHintAnimator > instead std::map< QskAspect, QskHintAnimator > map; }; QskHintAnimatorTable::QskHintAnimatorTable() - : m_data( nullptr ) { } @@ -218,6 +216,7 @@ QskHintAnimatorTable::~QskHintAnimatorTable() { if ( qskAnimatorGuard ) qskAnimatorGuard->unregisterTable( this ); + delete m_data; } @@ -228,6 +227,7 @@ void QskHintAnimatorTable::start( QskControl* control, if ( m_data == nullptr ) { m_data = new PrivateData(); + if ( qskAnimatorGuard ) qskAnimatorGuard->registerTable( this ); } diff --git a/src/controls/QskHintAnimator.h b/src/controls/QskHintAnimator.h index d2d976c2..03fd771d 100644 --- a/src/controls/QskHintAnimator.h +++ b/src/controls/QskHintAnimator.h @@ -54,12 +54,13 @@ class QSK_EXPORT QskHintAnimatorTable QVariant currentValue( QskAspect ) const; bool cleanup(); + bool isEmpty() const; private: void reset(); class PrivateData; - PrivateData* m_data; + PrivateData* m_data = nullptr; }; inline QskAspect QskHintAnimator::aspect() const noexcept @@ -82,4 +83,9 @@ inline bool QskHintAnimator::operator<( const QskHintAnimator& other ) const noe return m_aspect < other.m_aspect; } +inline bool QskHintAnimatorTable::isEmpty() const +{ + return m_data == nullptr; +} + #endif