-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111626/
-----------------------------------------------------------

Review request for Amarok, kdelibs and Solid.


Description
-------

https://bugs.kde.org/show_bug.cgi?id=314544#c40 says:

"Looking at the backtrace, KFilePlacesItem tries to detect Audio CDs as follows:

    Solid::Device d = device();
    if (d.isValid()) {
            if (m_access) {
                return QUrl(KUrl(m_access->filePath()));
            } else if (m_disc && (m_disc->availableContent() & 
Solid::OpticalDisc::Audio)!=0) {
                QString device = d.as<Solid::Block>()->device();
                return QUrl(QString("audiocd:/?device=%1").arg(device));
            }
    }

The crash happens, because d.as<Solid::Block> returns 0, in other words, Audio 
CDs are no longer treated as block devices.

Failure of said cast can be easily detected, but the question is rather, if 
it's not a Solid bug, how the code needs to be modified to correctly get the 
audiocd:/ URL for the block device."

While I did not yet figure out, how I can get the block device URL for a disc 
in case block is 0, I propose this temporary fix. It should fix the crash, but 
could fail to correctly invoke the audiocd:/ kio with multiple disc drives.


This addresses bug 314544.
    http://bugs.kde.org/show_bug.cgi?id=314544


Diffs
-----

  kfile/kfileplacesitem.cpp 5a12486 

Diff: http://git.reviewboard.kde.org/r/111626/diff/


Testing
-------

I could not test, my system has no disc drives.


Thanks,

Christoph Feck

_______________________________________________
Amarok-devel mailing list
Amarok-devel@kde.org
https://mail.kde.org/mailman/listinfo/amarok-devel

Reply via email to