From 928f98c35133381cadb3e263b7de3e636277c21e Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 8 Aug 2007 19:50:00 +0000 Subject: fixed segmentation fault when trying to show details dialog with invalid file path git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@69 90c681e8-e032-0410-971d-27865f9a5e38 --- lib/qmmp/Input/ffmpeg/detailsdialog.cpp | 8 ++++---- lib/qmmp/Input/flac/detailsdialog.cpp | 10 +++++++--- lib/qmmp/Input/mad/detailsdialog.cpp | 5 +++++ lib/qmmp/Input/mpc/detailsdialog.cpp | 10 +++++++--- lib/qmmp/Input/vorbis/detailsdialog.cpp | 10 +++++++--- 5 files changed, 30 insertions(+), 13 deletions(-) (limited to 'lib') diff --git a/lib/qmmp/Input/ffmpeg/detailsdialog.cpp b/lib/qmmp/Input/ffmpeg/detailsdialog.cpp index a4551872b..076cd6872 100644 --- a/lib/qmmp/Input/ffmpeg/detailsdialog.cpp +++ b/lib/qmmp/Input/ffmpeg/detailsdialog.cpp @@ -23,7 +23,7 @@ extern "C" #include #include } - +#include #include "detailsdialog.h" @@ -37,8 +37,8 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) path.section('/',-1); ui.pathLineEdit->setText(m_path); - loadInfo(); - + if(QFile::exists(m_path)) + loadInfo(); } @@ -81,7 +81,7 @@ void DetailsDialog::loadInfo() ui.bitrateLabel->setText(text+" "+tr("kbps")); AVCodecContext *c = 0; - int wma_idx; + uint wma_idx; for (wma_idx = 0; wma_idx < in->nb_streams; wma_idx++) { diff --git a/lib/qmmp/Input/flac/detailsdialog.cpp b/lib/qmmp/Input/flac/detailsdialog.cpp index 3834e7ba9..07513591c 100644 --- a/lib/qmmp/Input/flac/detailsdialog.cpp +++ b/lib/qmmp/Input/flac/detailsdialog.cpp @@ -21,6 +21,8 @@ #include #include +#include + #include "detailsdialog.h" DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) @@ -32,9 +34,11 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) setWindowTitle (path.section('/',-1)); path.section('/',-1); ui.pathLineEdit->setText(m_path); - loadFLACInfo(); - loadTag(); - + if(QFile::exists(m_path)) + { + loadFLACInfo(); + loadTag(); + } } diff --git a/lib/qmmp/Input/mad/detailsdialog.cpp b/lib/qmmp/Input/mad/detailsdialog.cpp index 16c6f4a06..59acb4819 100644 --- a/lib/qmmp/Input/mad/detailsdialog.cpp +++ b/lib/qmmp/Input/mad/detailsdialog.cpp @@ -20,6 +20,8 @@ #include #include #include +#include + #include #include #include @@ -40,6 +42,9 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) setWindowTitle (path.section('/',-1)); ui.pathLineEdit->setText(m_path); + if(!QFile::exists(m_path)) + return; + QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); settings.beginGroup("MAD"); QTextCodec *codec_v1 = diff --git a/lib/qmmp/Input/mpc/detailsdialog.cpp b/lib/qmmp/Input/mpc/detailsdialog.cpp index da1b3b83d..c69dbe8b7 100644 --- a/lib/qmmp/Input/mpc/detailsdialog.cpp +++ b/lib/qmmp/Input/mpc/detailsdialog.cpp @@ -21,6 +21,8 @@ #include #include +#include + #include "detailsdialog.h" DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) @@ -32,9 +34,11 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) setWindowTitle (path.section('/',-1)); path.section('/',-1); ui.pathLineEdit->setText(m_path); - loadMPCInfo(); - loadTag(); - + if(QFile::exists(m_path)) + { + loadMPCInfo(); + loadTag(); + } } diff --git a/lib/qmmp/Input/vorbis/detailsdialog.cpp b/lib/qmmp/Input/vorbis/detailsdialog.cpp index 9fb4f761c..eee5540f1 100644 --- a/lib/qmmp/Input/vorbis/detailsdialog.cpp +++ b/lib/qmmp/Input/vorbis/detailsdialog.cpp @@ -21,6 +21,8 @@ #include #include +#include + #include "detailsdialog.h" DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) @@ -32,9 +34,11 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) setWindowTitle (path.section('/',-1)); path.section('/',-1); ui.pathLineEdit->setText(m_path); - loadVorbisInfo(); - loadTag(); - + if(QFile::exists(m_path)) + { + loadVorbisInfo(); + loadTag(); + } } -- cgit v1.2.3-13-gbd6f