SIGSEGV Segmentation fault while loading QMediaPlaylist
-
I am currently working on a music player.
At one point, I save an m3u playlist file:
@moodPlaylist->save(QUrl::fromLocalFile(QFileInfo("moods/" + moodName + ".m3u").absoluteFilePath()), "m3u");@
This works flawlessly. The m3u file is created. The line is bound to a button.I then show the filenames in a QListWidget. On the clicked() slot, I try to load a playlist:
@currentMoodPlaylist->load(QUrl::fromLocalFile(QFileInfo("moods/" + ui->moodList->currentItem()->text() + ".m3u").absoluteFilePath(), "m3u");@
Because of this line, I get the Segmentation fault.I understand that I try to access memory that somehow doesn't belong to my app. However, I don't quite understand where the problem is in my case...
-
Hi,
How can one find out what's wrong looking at a line like
@
QFileInfo("moods/" + ui->moodList->currentItem()->text() + ".m3u").absoluteFilePath()
@So many pointers!
To debug such issues, first break this chain of calls. Assign each value to a variable. Find out which one causes the segfault. If you don't understand the reason this way then create a project that reproduces your issue and upload it somewhere. Post the link here.
-
Thanks for your reply. I just did what you suggested:
@QString playlistName = ui->moodList->currentItem()->text();
QString playlistPath = QFileInfo("moods/" + playlistName + ".m3u").absoluteFilePath();
currentMoodPlaylist->load(QUrl::fromLocalFile(playlistPath), "m3u");
@The seg fault is still caused by the load() line.
However as it turns out, it doesn't even matter what I do, as soon as I reference the currentMoodPlaylist, I get a seg fault. For example I tried:
@currentMoodPlaylist->clear();@
(No pointers this time ;)). Same error. It is set like that in my mainwindow.h:
@private:
QMediaPlaylist *currentMoodPlaylist;@