diff options
author | Alwin Esch <alwin.esch@web.de> | 2020-06-14 22:41:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-14 22:41:45 +0200 |
commit | f85e6af91134b86a2d0b2fbb5cb3dc04231fde0e (patch) | |
tree | 68acfe2796fde22800f2e41aa212e5cc4355e10f | |
parent | 06d904b5aab0ede4a777ac644051fc52fd74dc61 (diff) | |
parent | 27895ccd6bf83cb402e1dc07b408eed7e141489c (diff) |
Merge pull request #18059 from AlwinEsch/fix-pvr
[addons] Reinit binary addon manager when loading a profile; fixes non working pvr addons.
-rw-r--r-- | xbmc/addons/binary-addons/BinaryAddonManager.h | 5 | ||||
-rw-r--r-- | xbmc/profiles/ProfileManager.cpp | 3 | ||||
-rw-r--r-- | xbmc/pvr/addons/PVRClients.cpp | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/xbmc/addons/binary-addons/BinaryAddonManager.h b/xbmc/addons/binary-addons/BinaryAddonManager.h index d271cae401..ca8d520b5b 100644 --- a/xbmc/addons/binary-addons/BinaryAddonManager.h +++ b/xbmc/addons/binary-addons/BinaryAddonManager.h @@ -32,6 +32,11 @@ namespace ADDON CBinaryAddonManager(const CBinaryAddonManager&) = delete; ~CBinaryAddonManager(); + bool ReInit() + { + DeInit(); + return Init(); + } bool Init(); void DeInit(); diff --git a/xbmc/profiles/ProfileManager.cpp b/xbmc/profiles/ProfileManager.cpp index 14fbc37663..29f6ff37b6 100644 --- a/xbmc/profiles/ProfileManager.cpp +++ b/xbmc/profiles/ProfileManager.cpp @@ -19,6 +19,7 @@ #include "ServiceBroker.h" #include "Util.h" #include "addons/Skin.h" +#include "addons/binary-addons/BinaryAddonManager.h" #include "dialogs/GUIDialogKaiToast.h" #include "dialogs/GUIDialogYesNo.h" #include "events/EventLog.h" @@ -374,6 +375,7 @@ void CProfileManager::FinalizeLoadProfile() PVR::CPVRManager &pvrManager = CServiceBroker::GetPVRManager(); CNetworkBase &networkManager = CServiceBroker::GetNetwork(); ADDON::CAddonMgr &addonManager = CServiceBroker::GetAddonMgr(); + ADDON::CBinaryAddonManager& binAddonManager = CServiceBroker::GetBinaryAddonManager(); CWeatherManager &weatherManager = CServiceBroker::GetWeatherManager(); CFavouritesService &favouritesManager = CServiceBroker::GetFavouritesService(); PLAYLIST::CPlayListPlayer &playlistManager = CServiceBroker::GetPlaylistPlayer(); @@ -390,6 +392,7 @@ void CProfileManager::FinalizeLoadProfile() // reload the add-ons, or we will first load all add-ons from the master account without checking disabled status addonManager.ReInit(); + binAddonManager.ReInit(); // let CApplication know that we are logging into a new profile g_application.SetLoggingIn(true); diff --git a/xbmc/pvr/addons/PVRClients.cpp b/xbmc/pvr/addons/PVRClients.cpp index 31cf05d859..2c0a0ed9cf 100644 --- a/xbmc/pvr/addons/PVRClients.cpp +++ b/xbmc/pvr/addons/PVRClients.cpp @@ -10,6 +10,7 @@ #include "ServiceBroker.h" #include "addons/binary-addons/BinaryAddonBase.h" +#include "addons/binary-addons/BinaryAddonManager.h" #include "guilib/LocalizeStrings.h" #include "messaging/ApplicationMessenger.h" #include "pvr/PVREventLogJob.h" |