aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <3226626+ksooo@users.noreply.github.com>2023-10-22 08:58:23 +0200
committerGitHub <noreply@github.com>2023-10-22 08:58:23 +0200
commitb5d8762c37b39050aa5014c73da5712b97b449a6 (patch)
tree5d1ae7e16c3bf147a5ea73f85b23bd02a7a756e2
parent55c05bdc51ba60de0bfe6ba9e93944327d13760e (diff)
parent55d09579e28bf0a8de04b2a7442ec1d0279907bb (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.cpp2
-rw-r--r--xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp13
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())