diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp index c437c6b78..d9787e3d5 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp @@ -33,6 +33,7 @@ #include "CollapsibleControls.h" #include "DynamicControlWrapper.h" #include "dynamic/DynamicView.h" +#include using namespace Tomahawk; @@ -209,6 +210,15 @@ DynamicWidget::layoutSteerer() } } +void +DynamicWidget::hideEvent( QHideEvent* ev ) +{ + if( m_runningOnDemand ) { + generateOrStart(); + } + QWidget::hideEvent( ev ); +} + void DynamicWidget::generateOrStart() diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h index 263d9ac57..f457712ef 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h @@ -23,6 +23,7 @@ #include "dynamic/DynamicPlaylist.h" #include "dynamic/DynamicControl.h" +class QHideEvent; class QSpinBox; class QVBoxLayout; class QHBoxLayout; @@ -63,6 +64,7 @@ public: virtual QSize sizeHint() const; virtual void resizeEvent( QResizeEvent* ); + virtual void hideEvent(QHideEvent* ); public slots: void onRevisionLoaded( const Tomahawk::DynamicPlaylistRevision& rev );