QskSkinTransition fixed

This commit is contained in:
Uwe Rathmann 2017-07-23 16:36:40 +02:00
parent 9b4dec7fca
commit 6dccfb1de5

View File

@ -139,13 +139,14 @@ namespace
public: public:
AnimatorGroup() AnimatorGroup()
{ {
QskAnimator::addAdvanceHandler( this,
SLOT( notify( QQuickWindow* ) ) );
} }
void start() void start()
{ {
for ( auto it : m_map ) m_notifyConnection = QskAnimator::addAdvanceHandler( this,
SLOT( notify( QQuickWindow* ) ) );
for ( auto& it : m_map )
it.second.start(); it.second.start();
} }
@ -156,6 +157,8 @@ namespace
void reset() void reset()
{ {
disconnect( m_notifyConnection );
m_map.clear(); m_map.clear();
m_updateInfos.clear(); m_updateInfos.clear();
} }
@ -310,7 +313,6 @@ namespace
animator.setControl( nullptr ); animator.setControl( nullptr );
animator.setWindow( control->window() ); animator.setWindow( control->window() );
animator.start();
} }
inline void storeUpdateInfo( QskControl* control, QskAspect::Aspect aspect ) inline void storeUpdateInfo( QskControl* control, QskAspect::Aspect aspect )
@ -333,6 +335,8 @@ namespace
std::map< QskAspect::Aspect, QskHintAnimator > m_map; std::map< QskAspect::Aspect, QskHintAnimator > m_map;
std::vector< UpdateInfo > m_updateInfos; // vector: for fast iteration std::vector< UpdateInfo > m_updateInfos; // vector: for fast iteration
QMetaObject::Connection m_notifyConnection;
}; };
} }