diff options
author | Kai Sommerfeld <3226626+ksooo@users.noreply.github.com> | 2023-10-22 08:58:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-22 08:58:23 +0200 |
commit | b5d8762c37b39050aa5014c73da5712b97b449a6 (patch) | |
tree | 5d1ae7e16c3bf147a5ea73f85b23bd02a7a756e2 | |
parent | 55c05bdc51ba60de0bfe6ba9e93944327d13760e (diff) | |
parent | 55d09579e28bf0a8de04b2a7442ec1d0279907bb (diff) |
Merge pull request #23971 from ksooo/pvr-fix-group-highlight
[PVR] Fix playing channel not always highlighted in dialogs/windows.
-rw-r--r-- | xbmc/pvr/guilib/PVRGUIActionsChannels.cpp | 2 | ||||
-rw-r--r-- | xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/xbmc/pvr/guilib/PVRGUIActionsChannels.cpp b/xbmc/pvr/guilib/PVRGUIActionsChannels.cpp index fe1b652273..86dfc0516b 100644 --- a/xbmc/pvr/guilib/PVRGUIActionsChannels.cpp +++ b/xbmc/pvr/guilib/PVRGUIActionsChannels.cpp @@ -428,7 +428,7 @@ std::string CPVRGUIActionsChannels::GetSelectedChannelPath(bool bRadio) const const std::shared_ptr<CPVRChannelGroupMember> playingChannel = mgr.PlaybackState()->GetPlayingChannelGroupMember(); if (playingChannel && playingChannel->IsRadio() == bRadio) - return playingChannel->Path(); + return GetChannelGroupMember(playingChannel->Channel())->Path(); const std::shared_ptr<CPVREpgInfoTag> playingTag = mgr.PlaybackState()->GetPlayingEpgTag(); if (playingTag && playingTag->IsRadio() == bRadio) diff --git a/xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp b/xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp index 185e55165e..6d15b00826 100644 --- a/xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp +++ b/xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp @@ -1565,6 +1565,19 @@ bool CPVRGUIInfo::GetListItemAndPlayerBool(const CFileItem* item, return true; } break; + case LISTITEM_ISPLAYING: + if (item->IsPVRChannel()) + { + const std::shared_ptr<CPVRChannel> playingChannel{ + CServiceBroker::GetPVRManager().PlaybackState()->GetPlayingChannel()}; + if (playingChannel) + { + const std::shared_ptr<CPVRChannel> channel{item->GetPVRChannelInfoTag()}; + bValue = (channel->StorageId() == playingChannel->StorageId()); + return true; + } + } + break; case MUSICPLAYER_CONTENT: case VIDEOPLAYER_CONTENT: if (item->IsPVRChannel()) |