aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Effect/bs2b/bs2bplugin.cpp2
-rw-r--r--src/plugins/General/converter/converterhelper.cpp2
-rw-r--r--src/plugins/General/notifier/notifier.cpp4
-rw-r--r--src/plugins/General/notifier/notifier.h4
-rw-r--r--src/plugins/General/statusicon/statusicon.cpp25
-rw-r--r--src/plugins/General/statusicon/statusicon.h4
-rw-r--r--src/plugins/Output/alsa/outputalsa.cpp17
-rw-r--r--src/plugins/Output/alsa/outputalsa.h10
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp2
-rw-r--r--src/plugins/Ui/skinned/skin.cpp2
-rw-r--r--src/qmmp/outputwriter.cpp8
-rw-r--r--src/qmmp/outputwriter_p.h2
12 files changed, 48 insertions, 34 deletions
diff --git a/src/plugins/Effect/bs2b/bs2bplugin.cpp b/src/plugins/Effect/bs2b/bs2bplugin.cpp
index de73300eb..18ec681f3 100644
--- a/src/plugins/Effect/bs2b/bs2bplugin.cpp
+++ b/src/plugins/Effect/bs2b/bs2bplugin.cpp
@@ -38,7 +38,7 @@ Bs2bPlugin::Bs2bPlugin() : Effect()
Bs2bPlugin::~Bs2bPlugin()
{
m_instance = 0;
- bs2b_clear(m_bs2b_handler);
+ bs2b_close(m_bs2b_handler);
}
#define CASE_BS2B(bitsPerSample, dataType, functionToCall, samples, out_data) \
diff --git a/src/plugins/General/converter/converterhelper.cpp b/src/plugins/General/converter/converterhelper.cpp
index ed9cbb69e..96ccf72a2 100644
--- a/src/plugins/General/converter/converterhelper.cpp
+++ b/src/plugins/General/converter/converterhelper.cpp
@@ -49,7 +49,7 @@ ConverterHelper::ConverterHelper(QObject *parent) : QObject(parent)
ConverterHelper::~ConverterHelper()
{
- m_progress->deleteLater();
+ delete m_progress;
}
void ConverterHelper::openConverter()
diff --git a/src/plugins/General/notifier/notifier.cpp b/src/plugins/General/notifier/notifier.cpp
index 8af0c8d6d..a12034b16 100644
--- a/src/plugins/General/notifier/notifier.cpp
+++ b/src/plugins/General/notifier/notifier.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2012 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 *
@@ -72,6 +72,8 @@ Notifier::Notifier(QObject *parent) : QObject(parent)
Notifier::~Notifier()
{
removePsiTuneFiles();
+ if (m_popupWidget)
+ delete m_popupWidget;
}
void Notifier::setState(Qmmp::State state)
diff --git a/src/plugins/General/notifier/notifier.h b/src/plugins/General/notifier/notifier.h
index bb58a88cc..2576a9b86 100644
--- a/src/plugins/General/notifier/notifier.h
+++ b/src/plugins/General/notifier/notifier.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2012 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 *
@@ -38,7 +38,7 @@ Q_OBJECT
public:
Notifier(QObject *parent = 0);
- ~Notifier();
+ virtual~Notifier();
private slots:
void showMetaData();
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
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp
index f037d40b8..8b5a04c5c 100644
--- a/src/plugins/Output/alsa/outputalsa.cpp
+++ b/src/plugins/Output/alsa/outputalsa.cpp
@@ -361,7 +361,7 @@ void OutputALSA::uninitialize()
VolumeALSA::VolumeALSA()
{
//alsa mixer
- mixer = 0;
+ m_mixer = 0;
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
QString card = settings.value("ALSA/mixer_card","hw:0").toString();
QString dev = settings.value("ALSA/mixer_device", "PCM").toString();
@@ -371,8 +371,8 @@ VolumeALSA::VolumeALSA()
VolumeALSA::~VolumeALSA()
{
- if (mixer)
- snd_mixer_close(mixer);
+ if (m_mixer)
+ snd_mixer_close(m_mixer);
}
void VolumeALSA::setVolume(const VolumeSettings &vol)
@@ -391,7 +391,7 @@ VolumeSettings VolumeALSA::volume() const
return vol;
long value = 0;
- snd_mixer_handle_events(mixer);
+ snd_mixer_handle_events(m_mixer);
snd_mixer_selem_get_playback_volume(pcm_element, SND_MIXER_SCHN_FRONT_LEFT, &value);
vol.left = value;
snd_mixer_selem_get_playback_volume(pcm_element, SND_MIXER_SCHN_FRONT_RIGHT, &value);
@@ -407,12 +407,12 @@ int VolumeALSA::setupMixer(QString card, QString device)
qDebug("OutputALSA: setupMixer()");
- if ((err = getMixer(&mixer, card)) < 0)
+ if ((err = getMixer(&m_mixer, card)) < 0)
return err;
parseMixerName(device.toAscii().data(), &name, &index);
- pcm_element = getMixerElem(mixer, name, index);
+ pcm_element = getMixerElem(m_mixer, name, index);
free(name);
@@ -487,8 +487,10 @@ int VolumeALSA::getMixer(snd_mixer_t **mixer, QString card)
{
qWarning("OutputALSA: Attaching to mixer %s failed: %s",
dev, snd_strerror(-err));
+ free(dev);
return -1;
}
+ free(dev);
if ((err = snd_mixer_selem_register(*mixer, NULL, NULL)) < 0)
{
qWarning("OutputALSA: Failed to register mixer: %s",
@@ -501,8 +503,5 @@ int VolumeALSA::getMixer(snd_mixer_t **mixer, QString card)
snd_strerror(-err));
return -1;
}
-
- free(dev);
-
return (*mixer != NULL);
}
diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h
index f909127ed..375a94db8 100644
--- a/src/plugins/Output/alsa/outputalsa.h
+++ b/src/plugins/Output/alsa/outputalsa.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2012 by Ilya Kotov *
+ * Copyright (C) 2006-2013 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -70,7 +70,7 @@ class VolumeALSA : public Volume
{
public:
VolumeALSA();
- ~VolumeALSA();
+ virtual ~VolumeALSA();
void setVolume(const VolumeSettings &vol);
VolumeSettings volume() const;
@@ -79,9 +79,9 @@ private:
//alsa mixer
int setupMixer(QString card, QString device);
void parseMixerName(char *str, char **name, int *index);
- int getMixer(snd_mixer_t **mixer, QString card);
- snd_mixer_elem_t* getMixerElem(snd_mixer_t *mixer, char *name, int index);
- snd_mixer_t *mixer;
+ int getMixer(snd_mixer_t **m_mixer, QString card);
+ snd_mixer_elem_t* getMixerElem(snd_mixer_t *m_mixer, char *name, int index);
+ snd_mixer_t *m_mixer;
snd_mixer_elem_t *pcm_element;
bool m_use_mmap;
};
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp
index bfbcae3bb..f4e9c1c2f 100644
--- a/src/plugins/Ui/skinned/listwidget.cpp
+++ b/src/plugins/Ui/skinned/listwidget.cpp
@@ -73,6 +73,8 @@ ListWidget::~ListWidget()
delete m_metrics;
if(m_extra_metrics)
delete m_extra_metrics;
+ qDeleteAll(m_rows);
+ m_rows.clear();
}
void ListWidget::readSettings()
diff --git a/src/plugins/Ui/skinned/skin.cpp b/src/plugins/Ui/skinned/skin.cpp
index ea127cfb2..f4adb0fdc 100644
--- a/src/plugins/Ui/skinned/skin.cpp
+++ b/src/plugins/Ui/skinned/skin.cpp
@@ -370,6 +370,8 @@ void Skin::loadPlayList()
buttons[PL_BT_SHADE2_N] = pixmap->copy (129,45,9,9);
buttons[PL_BT_SHADE2_P] = pixmap->copy (150,42,9,9);
+ delete pixmap;
+
}
QPixmap *Skin::getPixmap (const QString& name)
diff --git a/src/qmmp/outputwriter.cpp b/src/qmmp/outputwriter.cpp
index 82b5924e9..1c4353ea3 100644
--- a/src/qmmp/outputwriter.cpp
+++ b/src/qmmp/outputwriter.cpp
@@ -82,6 +82,11 @@ OutputWriter::~OutputWriter()
delete m_output;
m_output = 0;
}
+ if(m_visBuffer)
+ {
+ delete[] m_visBuffer;
+ m_visBuffer = 0;
+ }
}
bool OutputWriter::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
@@ -117,7 +122,8 @@ bool OutputWriter::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
if(m_visBuffer)
delete [] m_visBuffer;
m_visBufferSize = QMMP_BLOCK_FRAMES * 2 * chan; //16-bit samples
- m_visBuffer = new unsigned char [m_visBufferSize];
+ if(m_format != Qmmp::PCM_S16LE)
+ m_visBuffer = new unsigned char [m_visBufferSize];
m_useEq = m_eqEnabled && m_frequency && m_format == Qmmp::PCM_S16LE;
if(m_frequency)
{
diff --git a/src/qmmp/outputwriter_p.h b/src/qmmp/outputwriter_p.h
index b2587fc21..d744c3776 100644
--- a/src/qmmp/outputwriter_p.h
+++ b/src/qmmp/outputwriter_p.h
@@ -41,7 +41,7 @@ class OutputWriter : public QThread
public:
explicit OutputWriter(QObject *parent = 0);
- ~OutputWriter();
+ virtual ~OutputWriter();
/*!
* Prepares object for usage and setups required audio parameters.
* @param freq Sample rate.