Fix crashes when deivce is removed - we need to check if the Solid device is valid before looking at the particular device type.

This commit is contained in:
craig.p.drummond@gmail.com
2012-05-02 11:24:39 +00:00
committed by craig.p.drummond@gmail.com
parent 56557014b7
commit 397ecb56c7
2 changed files with 6 additions and 2 deletions

View File

@@ -544,7 +544,7 @@ void MtpDevice::deviceDetails(const QString &s)
bool MtpDevice::isConnected() const
{
return pmp && pmp->isValid() && connection->isConnected();
return solidDev.isValid() && pmp && pmp->isValid() && connection->isConnected();
}
void MtpDevice::configure(QWidget *parent)

View File

@@ -66,7 +66,7 @@ UmsDevice::~UmsDevice() {
bool UmsDevice::isConnected() const
{
return access && access->isValid() && access->isAccessible();
return solidDev.isValid() && access && access->isValid() && access->isAccessible();
}
double UmsDevice::usedCapacity()
@@ -239,6 +239,10 @@ static inline QString toString(bool b)
void UmsDevice::saveOptions()
{
if (!isConnected()) {
return;
}
QString path=MPDParseUtils::fixPath(access->filePath());
QFile file(path+constSettingsFile);
QString fixedPath(audioFolder);