[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/dataengines/nowplaying/playerinterface/mpris
From: Alex Merry <kde () randomguy3 ! me ! uk>
Date: 2009-03-12 22:12:23
Message-ID: 1236895943.971389.18726.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 938759 by alexmerry:
Don't crash when the player doesn't implement the MPRIS interface properly (I'm \
looking at you, Dragon Player).
M +15 -5 mpris.cpp
--- trunk/KDE/kdebase/workspace/plasma/dataengines/nowplaying/playerinterface/mpris/mpris.cpp \
#938758:938759 @@ -97,9 +97,15 @@
connect(m_player, SIGNAL(StatusChange(MprisDBusStatus)),
this, SLOT(stateChanged(MprisDBusStatus)));
- capsChanged(m_player->GetCaps());
- trackChanged(m_player->GetMetadata());
- stateChanged(m_player->GetStatus());
+ QDBusReply<int> caps = m_player->GetCaps();
+ if (caps.isValid())
+ capsChanged(caps);
+ QDBusReply<QVariantMap> metadata = m_player->GetMetadata();
+ if (metadata.isValid())
+ trackChanged(metadata);
+ QDBusReply<MprisDBusStatus> status = m_player->GetStatus();
+ if (status.isValid())
+ stateChanged(status);
}
}
@@ -193,7 +199,9 @@
int Mpris::position()
{
if (m_player->isValid()) {
- return m_player->PositionGet() / 1000;
+ QDBusReply<int> positionMs = m_player->PositionGet();
+ if (positionMs.isValid())
+ return positionMs / 1000;
}
return 0;
}
@@ -201,7 +209,9 @@
float Mpris::volume()
{
if (m_player->isValid()) {
- return ((float)m_player->VolumeGet()) / 100;
+ QDBusReply<int> volumePercent = m_player->VolumeGet();
+ if (volumePercent.isValid())
+ return ((float)volumePercent) / 100;
}
return 0;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic