aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/statusicon
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-07-29 10:01:35 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-07-29 10:01:35 +0000
commite747c2b87c23b40e853a0870530c4a9fa7dad9df (patch)
tree4dea494948a0cf052720597b334cd049d17d5ae7 /src/plugins/General/statusicon
parent534cebc65c3e06c2e24e0e3695078a1afd533a6c (diff)
downloadqmmp-e747c2b87c23b40e853a0870530c4a9fa7dad9df.tar.gz
qmmp-e747c2b87c23b40e853a0870530c4a9fa7dad9df.tar.bz2
qmmp-e747c2b87c23b40e853a0870530c4a9fa7dad9df.zip
fixed memory leaks
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3558 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/statusicon')
-rw-r--r--src/plugins/General/statusicon/statusicon.cpp25
-rw-r--r--src/plugins/General/statusicon/statusicon.h4
2 files changed, 16 insertions, 13 deletions
diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp
index ca051f06b..a0875dd38 100644
--- a/src/plugins/General/statusicon/statusicon.cpp
+++ b/src/plugins/General/statusicon/statusicon.cpp
@@ -56,21 +56,21 @@ StatusIcon::StatusIcon(QObject *parent) : QObject(parent)
m_tray->show();
settings.endGroup();
//actions
- QMenu *menu = new QMenu(qobject_cast<QWidget *>(parent));
+ m_menu = new QMenu();
QIcon playIcon = QApplication::style()->standardIcon(QStyle::SP_MediaPlay);
QIcon pauseIcon = QApplication::style()->standardIcon(QStyle::SP_MediaPause);
QIcon stopIcon = QApplication::style()->standardIcon(QStyle::SP_MediaStop);
QIcon nextIcon = QApplication::style()->standardIcon(QStyle::SP_MediaSkipForward);
QIcon previousIcon = QApplication::style()->standardIcon(QStyle::SP_MediaSkipBackward);
- menu->addAction(playIcon,tr("Play"), m_player, SLOT(play()));
- menu->addAction(pauseIcon,tr("Pause"), m_core, SLOT(pause()));
- menu->addAction(stopIcon,tr("Stop"), m_core, SLOT(stop()));
- menu->addSeparator();
- menu->addAction(nextIcon, tr("Next"), m_player, SLOT(next()));
- menu->addAction(previousIcon, tr("Previous"), m_player, SLOT(previous()));
- menu->addSeparator();
- menu->addAction(tr("Exit"), UiHelper::instance(), SLOT(exit()));
- m_tray->setContextMenu(menu);
+ m_menu->addAction(playIcon,tr("Play"), m_player, SLOT(play()));
+ m_menu->addAction(pauseIcon,tr("Pause"), m_core, SLOT(pause()));
+ m_menu->addAction(stopIcon,tr("Stop"), m_core, SLOT(stop()));
+ m_menu->addSeparator();
+ m_menu->addAction(nextIcon, tr("Next"), m_player, SLOT(next()));
+ m_menu->addAction(previousIcon, tr("Previous"), m_player, SLOT(previous()));
+ m_menu->addSeparator();
+ m_menu->addAction(tr("Exit"), UiHelper::instance(), SLOT(exit()));
+ m_tray->setContextMenu(m_menu);
connect (m_core, SIGNAL(metaDataChanged ()), SLOT(showMetaData()));
connect (m_core, SIGNAL(stateChanged (Qmmp::State)), SLOT(setState(Qmmp::State)));
setState(m_core->state()); //update state
@@ -78,9 +78,10 @@ StatusIcon::StatusIcon(QObject *parent) : QObject(parent)
QTimer::singleShot(1500, this, SLOT(showMetaData()));
}
-
StatusIcon::~StatusIcon()
-{}
+{
+ delete m_menu;
+}
void StatusIcon::setState(Qmmp::State state)
{
diff --git a/src/plugins/General/statusicon/statusicon.h b/src/plugins/General/statusicon/statusicon.h
index 5b42a22d9..908bcec77 100644
--- a/src/plugins/General/statusicon/statusicon.h
+++ b/src/plugins/General/statusicon/statusicon.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2009 by Ilya Kotov *
+ * Copyright (C) 2008-2013 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -28,6 +28,7 @@
class SoundCore;
class MediaPlayer;
class QEvent;
+class QMenu;
/**
@@ -55,6 +56,7 @@ private:
int m_messageDelay;
SoundCore *m_core;
MediaPlayer *m_player;
+ QMenu *m_menu;
};
#endif