aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-10-26 18:45:08 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-10-26 18:45:08 +0000
commit3c37f74539cf870d563c44b92fc82852b5c46012 (patch)
treeeb25ed884c7861eb232c05c637db9fa07f0aa5b4 /src
parentb3d32cd1275310aa7c536c2703abdd3b2f237b9d (diff)
downloadqmmp-3c37f74539cf870d563c44b92fc82852b5c46012.tar.gz
qmmp-3c37f74539cf870d563c44b92fc82852b5c46012.tar.bz2
qmmp-3c37f74539cf870d563c44b92fc82852b5c46012.zip
fixed memory leaks and other errors
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7649 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/General/converter/converter.cpp2
-rw-r--r--src/plugins/General/rgscan/rgscanner.cpp2
-rw-r--r--src/plugins/General/scrobbler/scrobblercache.cpp4
-rw-r--r--src/plugins/General/statusicon/qmmptrayicon.h1
-rw-r--r--src/plugins/Input/cdaudio/decoder_cdaudio.cpp3
-rw-r--r--src/plugins/Input/sid/decoder_sid.cpp1
-rw-r--r--src/plugins/Input/wavpack/decoderwavpackfactory.cpp3
-rw-r--r--src/plugins/Output/alsa/settingsdialog.cpp4
-rw-r--r--src/plugins/Output/jack/outputjack.cpp11
-rw-r--r--src/plugins/Output/jack/outputjack.h2
-rw-r--r--src/plugins/Ui/qsui/listwidgetdrawer.h1
-rw-r--r--src/plugins/Ui/qsui/logo.cpp8
-rw-r--r--src/plugins/Ui/qsui/mainwindow.cpp2
-rw-r--r--src/plugins/Ui/qsui/popupwidget.cpp4
-rw-r--r--src/plugins/Ui/skinned/eqslider.cpp7
-rw-r--r--src/plugins/Ui/skinned/popupwidget.cpp5
-rw-r--r--src/plugins/Ui/skinned/windowsystem.cpp5
-rw-r--r--src/qmmpui/playlisttrack.cpp1
18 files changed, 32 insertions, 34 deletions
diff --git a/src/plugins/General/converter/converter.cpp b/src/plugins/General/converter/converter.cpp
index 71468ef5c..32a63ec53 100644
--- a/src/plugins/General/converter/converter.cpp
+++ b/src/plugins/General/converter/converter.cpp
@@ -347,7 +347,7 @@ bool Converter::convert(Decoder *decoder, FILE *file, bool use16bit)
emit progress(percent);
}
}
- else if (len <= 0)
+ else
{
emit progress(100);
qDebug("Converter: total written: %lld bytes", total);
diff --git a/src/plugins/General/rgscan/rgscanner.cpp b/src/plugins/General/rgscan/rgscanner.cpp
index 65a045d3e..5d7719284 100644
--- a/src/plugins/General/rgscan/rgscanner.cpp
+++ b/src/plugins/General/rgscan/rgscanner.cpp
@@ -180,7 +180,7 @@ void RGScanner::run()
AudioConverter converter;
converter.configure(ap.format());
//buffers
- double out_left[BUFFER_FRAMES], out_right[BUFFER_FRAMES]; //replay gain buffers
+ double out_left[BUFFER_FRAMES] = {0}, out_right[BUFFER_FRAMES] = {0}; //replay gain buffers
float float_buf[BUFFER_FRAMES*ap.channels()]; //float buffer
qint64 buf_size = BUFFER_FRAMES*ap.frameSize();
unsigned char char_buf[buf_size]; //char buffer
diff --git a/src/plugins/General/scrobbler/scrobblercache.cpp b/src/plugins/General/scrobbler/scrobblercache.cpp
index 5a4475062..b6b1eec78 100644
--- a/src/plugins/General/scrobbler/scrobblercache.cpp
+++ b/src/plugins/General/scrobbler/scrobblercache.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2013-2016 by Ilya Kotov *
+ * Copyright (C) 2013-2017 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,12 +24,14 @@
SongInfo::SongInfo()
{
m_length = 0;
+ m_start_ts = 0;
}
SongInfo::SongInfo(const QMap <Qmmp::MetaData, QString> metadata, qint64 length)
{
m_metadata = metadata;
m_length = length;
+ m_start_ts = 0;
}
SongInfo::SongInfo(const SongInfo &other)
diff --git a/src/plugins/General/statusicon/qmmptrayicon.h b/src/plugins/General/statusicon/qmmptrayicon.h
index 2d067d4ed..1aac4736d 100644
--- a/src/plugins/General/statusicon/qmmptrayicon.h
+++ b/src/plugins/General/statusicon/qmmptrayicon.h
@@ -46,7 +46,6 @@ private:
bool event(QEvent *e);
void wheelEvent(QWheelEvent *e);
void showToolTip();
- bool m_showNiceToolTip;
QPointer<StatusIconPopupWidget> m_popupWidget;
QString m_message;
#endif
diff --git a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
index 866d517e1..f1e3d543a 100644
--- a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
+++ b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
@@ -427,14 +427,13 @@ bool DecoderCDAudio::initialize()
return false;
}
qDebug("DecoderCDAudio: found cd audio capable drive \"%s\"", *cd_drives);
+ cdio_free_device_list(cd_drives); //free device list
}
else
{
qWarning("DecoderCDAudio: unable to find cd audio drive.");
return false;
}
- if (cd_drives && *cd_drives) //free device list
- cdio_free_device_list(cd_drives);
}
else
{
diff --git a/src/plugins/Input/sid/decoder_sid.cpp b/src/plugins/Input/sid/decoder_sid.cpp
index 351db3754..b89617913 100644
--- a/src/plugins/Input/sid/decoder_sid.cpp
+++ b/src/plugins/Input/sid/decoder_sid.cpp
@@ -78,6 +78,7 @@ bool DecoderSID::initialize()
if(!tune->getStatus())
{
qWarning("DecoderSID: error: %s", tune->statusString());
+ delete tune;
return false;
}
diff --git a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp
index 2d7da6167..b0b475095 100644
--- a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp
+++ b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp
@@ -58,7 +58,6 @@ QList<FileInfo *> DecoderWavPackFactory::createPlayList(const QString &fileName,
QList <FileInfo*> list;
char err[80];
int cue_len=0;
- FileInfo *info;
//extract metadata of one cue track
if(fileName.contains("://"))
{
@@ -90,7 +89,7 @@ QList<FileInfo *> DecoderWavPackFactory::createPlayList(const QString &fileName,
qWarning("DecoderWavPackFactory: error: %s", err);
return list;
}
- info = new FileInfo(fileName);
+ FileInfo *info = new FileInfo(fileName);
if (useMetaData)
{
cue_len = WavpackGetTagItem (ctx, "cuesheet", NULL, 0);
diff --git a/src/plugins/Output/alsa/settingsdialog.cpp b/src/plugins/Output/alsa/settingsdialog.cpp
index d4b008b0c..e60715b3d 100644
--- a/src/plugins/Output/alsa/settingsdialog.cpp
+++ b/src/plugins/Output/alsa/settingsdialog.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2016 by Ilya Kotov *
+ * Copyright (C) 2006-2017 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -98,7 +98,7 @@ void SettingsDialog::getSoftDevices()
if(snd_device_name_hint(-1, "pcm", &hints) < 0)
return;
- while(hints[i])
+ while(hints && hints[i])
{
char *type = snd_device_name_get_hint (hints[i], "IOID");
if (!type || !strcmp (type, "Output"))
diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp
index 9672c7e72..948d98536 100644
--- a/src/plugins/Output/jack/outputjack.cpp
+++ b/src/plugins/Output/jack/outputjack.cpp
@@ -51,6 +51,7 @@ bool OutputJACK::initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat form
{
qDebug("OutputJACK: initialize");
int bits = 0;
+ unsigned long f = freq;
Qmmp::AudioFormat input_format = Qmmp::PCM_S8;
switch(format)
{
@@ -64,13 +65,13 @@ bool OutputJACK::initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat form
}
- if(JACK_Open(&jack_device, bits, (unsigned long *)&freq, map.count()))
+ if(JACK_Open(&jack_device, bits, &f, map.count()))
{
m_inited = false;
return false;
}
m_inited = true;
- configure(freq, map, input_format);
+ configure(f, map, input_format);
return true;
}
@@ -83,7 +84,7 @@ qint64 OutputJACK::writeAudio(unsigned char *data, qint64 maxSize)
{
if(!m_inited)
return -1;
- m = JACK_Write(jack_device, (unsigned char*)data, maxSize);
+ qint64 l = JACK_Write(jack_device, (unsigned char*)data, maxSize);
if(JACK_GetState(jack_device) != PLAYING && JACK_GetState(jack_device) != RESET)
{
@@ -91,7 +92,7 @@ qint64 OutputJACK::writeAudio(unsigned char *data, qint64 maxSize)
return -1;
}
- if (m == 0)
+ if (l == 0)
{
usleep(2000);
m_wait_time += 2000;
@@ -104,7 +105,7 @@ qint64 OutputJACK::writeAudio(unsigned char *data, qint64 maxSize)
}
else
m_wait_time = 0;
- return m;
+ return l;
}
void OutputJACK::reset()
diff --git a/src/plugins/Output/jack/outputjack.h b/src/plugins/Output/jack/outputjack.h
index 50d61faa6..c812cc6f3 100644
--- a/src/plugins/Output/jack/outputjack.h
+++ b/src/plugins/Output/jack/outputjack.h
@@ -48,7 +48,7 @@ public:
private:
// helper functions
void uninitialize();
- qint64 m, m_wait_time;
+ qint64 m_wait_time;
bool m_inited;
int jack_device;
};
diff --git a/src/plugins/Ui/qsui/listwidgetdrawer.h b/src/plugins/Ui/qsui/listwidgetdrawer.h
index e613d6e24..269640456 100644
--- a/src/plugins/Ui/qsui/listwidgetdrawer.h
+++ b/src/plugins/Ui/qsui/listwidgetdrawer.h
@@ -40,6 +40,7 @@ struct ListWidgetRow
lengthColumnWidth = 0;
trackStateColumn = -1;
autoResize = false;
+ number = 0;
}
QStringList titles;
QList<int> sizes;
diff --git a/src/plugins/Ui/qsui/logo.cpp b/src/plugins/Ui/qsui/logo.cpp
index 548e14fe8..f8fe7cf80 100644
--- a/src/plugins/Ui/qsui/logo.cpp
+++ b/src/plugins/Ui/qsui/logo.cpp
@@ -116,21 +116,21 @@ void Logo::updateLetters()
m_value = m_elapsed / 100;
processPreset1();
}
- else if (m_elapsed >= 2000 && m_elapsed < 6000)
+ else if (m_elapsed < 6000)
{
m_value++;
processPreset2();
}
- else if(m_elapsed >= 6000 && m_elapsed < 9000)
+ else if(m_elapsed < 9000)
{
m_value++;
processPreset3();
}
- else if(m_elapsed >= 9000 && m_elapsed < 12000)
+ else if(m_elapsed < 12000)
{
processPreset4();
}
- else if(m_elapsed >= 12000)
+ else
{
m_value = 0;
m_elapsed = 0;
diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp
index 56f5622ca..bdc7b81c8 100644
--- a/src/plugins/Ui/qsui/mainwindow.cpp
+++ b/src/plugins/Ui/qsui/mainwindow.cpp
@@ -343,7 +343,7 @@ void MainWindow::updateVolumeIcon()
iconName = "audio-volume-muted";
else if(maxVol < 30)
iconName = "audio-volume-low";
- else if(maxVol >= 30 && maxVol < 60)
+ else if(maxVol < 60)
iconName = "audio-volume-medium";
ACTION(ActionManager::VOL_MUTE)->setIcon(QIcon::fromTheme(iconName, QIcon(QString(":/qsui/") + iconName + ".png")));
diff --git a/src/plugins/Ui/qsui/popupwidget.cpp b/src/plugins/Ui/qsui/popupwidget.cpp
index b5a7ef7be..47921a45d 100644
--- a/src/plugins/Ui/qsui/popupwidget.cpp
+++ b/src/plugins/Ui/qsui/popupwidget.cpp
@@ -83,15 +83,15 @@ void PopupWidget::mouseMoveEvent (QMouseEvent *)
void PopupWidget::prepare(PlayListTrack *track, QPoint pos)
{
pos += QPoint(15,10);
-
- m_url = track->url();
hide();
if(!track)
{
+ m_url.clear();
m_timer->stop();
return;
}
+ m_url = track->url();
m_label1->setText(m_formatter.format(track));
qApp->processEvents();
updateGeometry ();
diff --git a/src/plugins/Ui/skinned/eqslider.cpp b/src/plugins/Ui/skinned/eqslider.cpp
index 31e283155..41c824517 100644
--- a/src/plugins/Ui/skinned/eqslider.cpp
+++ b/src/plugins/Ui/skinned/eqslider.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2009 by Ilya Kotov *
+ * Copyright (C) 2006-2017 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,12 +21,9 @@
#include <QPainter>
#include <QWheelEvent>
#include <math.h>
-
#include "skin.h"
-
#include "eqslider.h"
-
EqSlider::EqSlider(QWidget *parent): PixmapWidget(parent)
{
m_skin = Skin::instance();
@@ -144,7 +141,7 @@ double EqSlider::convert(int p)
void EqSlider::wheelEvent(QWheelEvent *e)
{
- m_value -= e->delta()/60;
+ m_value -= double(e->delta())/60;
m_value = m_value > m_max ? m_max : m_value;
m_value = m_value < m_min ? m_min : m_value;
draw(false);
diff --git a/src/plugins/Ui/skinned/popupwidget.cpp b/src/plugins/Ui/skinned/popupwidget.cpp
index 533292c81..10fa811bc 100644
--- a/src/plugins/Ui/skinned/popupwidget.cpp
+++ b/src/plugins/Ui/skinned/popupwidget.cpp
@@ -85,15 +85,14 @@ void PopupWidget::mouseMoveEvent (QMouseEvent *)
void PopupWidget::prepare(PlayListTrack *item, QPoint pos)
{
pos += QPoint(15,10);
-
- m_url = item->url();
hide();
if(!item)
{
m_timer->stop();
+ m_url.clear();
return;
}
-
+ m_url = item->url();
m_label1->setText(m_formatter.format(item));
qApp->processEvents();
updateGeometry ();
diff --git a/src/plugins/Ui/skinned/windowsystem.cpp b/src/plugins/Ui/skinned/windowsystem.cpp
index a971214b3..e4489a250 100644
--- a/src/plugins/Ui/skinned/windowsystem.cpp
+++ b/src/plugins/Ui/skinned/windowsystem.cpp
@@ -1,7 +1,7 @@
/***************************************************************************
* Based on Licq *
* Copyright (C) 2006-2009 Licq developers *
- * Copyright (C) 2011-2016 Ilya Kotov *
+ * Copyright (C) 2011-2017 Ilya Kotov *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -180,7 +180,6 @@ unsigned char* WindowSystem::getWindowProperty(WId win, const char* prop)
return NULL;
// These are not needed for now.
- retCheck = None;
retFormat = 0;
retItems = 0UL;
@@ -219,7 +218,7 @@ void WindowSystem::revertGravity(WId win)
sh.win_gravity = NorthWestGravity;
else
return;
- sh.win_gravity = NorthWestGravity;
+
XSetWMNormalHints(dsp, win, &sh);
XSetWindowAttributes xs;
diff --git a/src/qmmpui/playlisttrack.cpp b/src/qmmpui/playlisttrack.cpp
index b13a91131..c9c838622 100644
--- a/src/qmmpui/playlisttrack.cpp
+++ b/src/qmmpui/playlisttrack.cpp
@@ -81,6 +81,7 @@ PlayListTrack &PlayListTrack::operator=(const PlayListTrack &other)
setSelected(other.isSelected());
m_length = other.m_length;
m_formattedLength = other.m_formattedLength;
+ return *this;
}
void PlayListTrack::updateMetaData(const QMap <Qmmp::MetaData, QString> &metaData)