aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmp/output.cpp5
-rw-r--r--src/ui/mainvisual.cpp11
-rw-r--r--src/ui/mainvisual.h1
3 files changed, 7 insertions, 10 deletions
diff --git a/src/qmmp/output.cpp b/src/qmmp/output.cpp
index fdd02ebde..779e21052 100644
--- a/src/qmmp/output.cpp
+++ b/src/qmmp/output.cpp
@@ -77,6 +77,11 @@ void Output::dispatch(const Qmmp::State &state)
{
if (m_handler)
m_handler->dispatch(state);
+ if (state == Qmmp::Stopped)
+ {
+ qDebug("clear");
+ clearVisuals();
+ }
}
diff --git a/src/ui/mainvisual.cpp b/src/ui/mainvisual.cpp
index 0d491dab5..0779c93d2 100644
--- a/src/ui/mainvisual.cpp
+++ b/src/ui/mainvisual.cpp
@@ -47,7 +47,6 @@ MainVisual *MainVisual::getPointer()
MainVisual::MainVisual (QWidget *parent)
: Visual (parent), m_vis (0), m_playing (FALSE)
{
- m_draw = TRUE;
m_skin = Skin::getPointer();
connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSettings()));
resize(75,20);
@@ -97,6 +96,7 @@ void MainVisual::clear()
delete m_nodes.takeFirst();
if (m_vis)
m_vis->clear();
+ m_pixmap = m_bg;
update();
}
@@ -161,15 +161,8 @@ void MainVisual::timeout()
QPainter p(&m_pixmap);
m_vis->draw (&p);
delete node;
- update();
- m_draw = TRUE;
- }
- else if (m_draw)
- {
- m_draw = FALSE;
- m_pixmap = m_bg;
- update();
}
+ update();
}
void MainVisual::paintEvent (QPaintEvent *)
diff --git a/src/ui/mainvisual.h b/src/ui/mainvisual.h
index 9ce40c187..7e5d23c8e 100644
--- a/src/ui/mainvisual.h
+++ b/src/ui/mainvisual.h
@@ -106,7 +106,6 @@ private:
QList <VisualNode*> m_nodes;
QTimer *m_timer;
bool m_playing;
- bool m_draw;
Skin *m_skin;
//menu and actions
QMenu *m_menu;