author | llornkcor <llornkcor> | 2002-06-19 12:34:09 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-06-19 12:34:09 (UTC) |
commit | b55f69a46fd27ce26235029f702c0f3942fde68c (patch) (side-by-side diff) | |
tree | 47aa9ca1e9c80367050a93715f384eef2285e7b9 | |
parent | 1d60bfb5925c5009122ae04009f8e99658436b35 (diff) | |
download | opie-b55f69a46fd27ce26235029f702c0f3942fde68c.zip opie-b55f69a46fd27ce26235029f702c0f3942fde68c.tar.gz opie-b55f69a46fd27ce26235029f702c0f3942fde68c.tar.bz2 |
dont crash on malformed urls
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 79 |
1 files changed, 49 insertions, 30 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 41fcb30..2323ac2 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp @@ -418,9 +418,15 @@ void PlayListWidget::addToSelection( const DocLnk& lnk ) { // qDebug("add"); - d->setDocumentUsed = FALSE; - if ( mediaPlayerState->playlist() ) { - if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) - d->selectedFiles->addToSelection( lnk ); + if( lnk.file().find(" ",0,TRUE) != -1 || lnk.file().find("%20",0,TRUE) != -1) { + QMessageBox::message("Note","You are trying to play\na malformed url."); + + } else { + + d->setDocumentUsed = FALSE; + if ( mediaPlayerState->playlist() ) { + if(QFileInfo(lnk.file()).exists() || lnk.file().left(4) == "http" ) + d->selectedFiles->addToSelection( lnk ); + } + else + mediaPlayerState->setPlaying( TRUE ); } - else - mediaPlayerState->setPlaying( TRUE ); } @@ -848,5 +854,10 @@ void PlayListWidget::btnPlay(bool b) { { - - mediaPlayerState->setPlaying(b); - } + qDebug("here we are"); + if( d->selectedFiles->current()->file().find(" ",0,TRUE) != -1 || d->selectedFiles->current()->file().find("%20",0,TRUE) != -1) { + QMessageBox::message("Note","You are trying to play\na malformed url."); + + } else { + + mediaPlayerState->setPlaying(b); + } } break; @@ -854,10 +865,9 @@ void PlayListWidget::btnPlay(bool b) { { - addToSelection( audioView->currentItem() ); - mediaPlayerState->setPlaying(b); - d->selectedFiles->removeSelected( ); - tabWidget->setCurrentPage(1); - d->selectedFiles->unSelect(); - insanityBool=FALSE; -// audioView->clearSelection(); - } + addToSelection( audioView->currentItem() ); + mediaPlayerState->setPlaying(b); + d->selectedFiles->removeSelected( ); + tabWidget->setCurrentPage(1); + d->selectedFiles->unSelect(); + insanityBool=FALSE; + }// audioView->clearSelection(); break; @@ -865,13 +875,13 @@ void PlayListWidget::btnPlay(bool b) { { - addToSelection( videoView->currentItem() ); - mediaPlayerState->setPlaying(b); - qApp->processEvents(); - d->selectedFiles->removeSelected( ); - tabWidget->setCurrentPage(2); - d->selectedFiles->unSelect(); - insanityBool=FALSE; -// videoView->clearSelection(); - } + addToSelection( videoView->currentItem() ); + mediaPlayerState->setPlaying(b); + qApp->processEvents(); + d->selectedFiles->removeSelected( ); + tabWidget->setCurrentPage(2); + d->selectedFiles->unSelect(); + insanityBool=FALSE; + }// videoView->clearSelection(); break; }; + } @@ -1070,5 +1080,8 @@ void PlayListWidget::openFile() { // http://66.28.68.70:8000 - filename.replace(QRegExp("%20")," "); - - qDebug("Selected filename is "+filename); +// filename.replace(QRegExp("%20")," "); + if(filename.find(" ",0,TRUE) != -1 || filename.find("%20",0,TRUE) != -1) { + QMessageBox::message("Note","Spaces in urls are not allowed."); + return; + } else { + qDebug("Selected filename is "+filename); if(filename.right(3) == "m3u") @@ -1096,2 +1109,3 @@ void PlayListWidget::openFile() { } + } if(fileDlg) @@ -1207,3 +1221,6 @@ void PlayListWidget::readm3u(const QString &filename) { s=t.readLine(); - if(s.find("#",0,TRUE) == -1) { + if(s.find(" ",0,TRUE) != -1 || s.find("%20",0,TRUE) != -1) { + QMessageBox::message("Note","Spaces in urls are not allowed."); + } + else if(s.find("#",0,TRUE) == -1) { if(s.find(" ",0,TRUE) == -1) { // not sure if this is neede since cf uses vfat @@ -1222,2 +1239,3 @@ void PlayListWidget::readm3u(const QString &filename) { } else { // is url + s.replace(QRegExp("%20")," "); @@ -1240,2 +1258,3 @@ void PlayListWidget::readm3u(const QString &filename) { } + f.close(); } |