summaryrefslogtreecommitdiff
path: root/plex.cpp
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2015-02-13 14:42:35 +0100
committerchriszero <zerov83@gmail.com>2015-02-13 14:42:35 +0100
commitb5c156939ddf2fc4ec3fa27ae1c3daae28681c12 (patch)
tree964a10beb9c142bd0378cc02b8ef0d473f59d5f2 /plex.cpp
parent2ee181403f1c332ee34f658916035524e766cd7b (diff)
downloadvdr-plugin-plex-b5c156939ddf2fc4ec3fa27ae1c3daae28681c12.tar.gz
vdr-plugin-plex-b5c156939ddf2fc4ec3fa27ae1c3daae28681c12.tar.bz2
Fixes segfault if there was no network connection.
Discovers servers continuously every 30 seconds.
Diffstat (limited to 'plex.cpp')
-rw-r--r--plex.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/plex.cpp b/plex.cpp
index 0c269dd..05a8b4e 100644
--- a/plex.cpp
+++ b/plex.cpp
@@ -52,7 +52,7 @@ void cPlexBrowser::CreateMenu()
// Clear Menu
Clear();
// Directory or Video?
- if(pCont->m_vDirectories.size() > 0) {
+ if(pCont && pCont->m_vDirectories.size() > 0) {
for(std::vector<plexclient::Directory>::iterator it = pCont->m_vDirectories.begin(); it != pCont->m_vDirectories.end(); ++it) {
plexclient::Directory *pDir = &(*it);
@@ -60,7 +60,7 @@ void cPlexBrowser::CreateMenu()
}
}
- if(pCont->m_vVideos.size() > 0) {
+ if(pCont && pCont->m_vVideos.size() > 0) {
for(std::vector<plexclient::Video>::iterator it = pCont->m_vVideos.begin(); it != pCont->m_vVideos.end(); ++it) {
plexclient::Video *vid = &(*it); // cast raw pointer
Add(new cPlexOsdItem( vid->m_sTitle.c_str(), vid) );
@@ -291,18 +291,10 @@ bool cMyPlugin::Initialize(void)
{
// First Startup? Save UUID
SetupStore("UUID", Config::GetInstance().GetUUID().c_str());
-
- plexclient::plexgdm::GetInstance().discover();
-
- if (plexclient::plexgdm::GetInstance().GetPlexservers().size() > 0) {
- plexclient::plexgdm::GetInstance().clientDetails(Config::GetInstance().GetUUID(), DESCRIPTION, "3200", "VDR", VERSION);
- plexclient::plexgdm::GetInstance().Start();
-
- plexclient::ControlServer::GetInstance().Start();
-
- } else {
- esyslog("[plex]No Plexmediaserver found");
- }
+
+ plexclient::plexgdm::GetInstance().clientDetails(Config::GetInstance().GetUUID(), DESCRIPTION, "3200", "VDR", VERSION);
+ plexclient::plexgdm::GetInstance().Start();
+ plexclient::ControlServer::GetInstance().Start();
return true;
}