From 9c7dd7313df300c45d6bc055bb51b94c09d3d2b6 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 26 Oct 2008 17:18:17 +0000 Subject: clear visualization after stop, fixed possible flickering git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@603 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmp/output.cpp | 5 +++++ src/ui/mainvisual.cpp | 11 ++--------- src/ui/mainvisual.h | 1 - 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 m_nodes; QTimer *m_timer; bool m_playing; - bool m_draw; Skin *m_skin; //menu and actions QMenu *m_menu; -- cgit v1.2.3-13-gbd6f