diff --git a/packages/mediacenter/kodi/patches/kodi-999.99-Isengard-backports.patch b/packages/mediacenter/kodi/patches/kodi-999.99-Isengard-backports.patch index 0578b2452d..a7bada307e 100644 --- a/packages/mediacenter/kodi/patches/kodi-999.99-Isengard-backports.patch +++ b/packages/mediacenter/kodi/patches/kodi-999.99-Isengard-backports.patch @@ -1,7 +1,7 @@ From eaeaf6d8321073c79e562afb5f8da7132c5fd20a Mon Sep 17 00:00:00 2001 From: ronie Date: Sun, 9 Aug 2015 15:17:58 +0200 -Subject: [PATCH 01/17] fix Window.IsMedia infobool +Subject: [PATCH 01/30] fix Window.IsMedia infobool --- xbmc/GUIInfoManager.cpp | 6 ++---- @@ -28,7 +28,7 @@ index 8cf1202..355e9a5 100644 From 7da667b2733d3b125b200fcda120ea512ae599f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A4r=20Bj=C3=B6rklund?= Date: Sun, 9 Aug 2015 19:31:11 +0200 -Subject: [PATCH 02/17] Updated taglib that fixes a crash when playing flac +Subject: [PATCH 02/30] Updated taglib that fixes a crash when playing flac files --- @@ -51,7 +51,7 @@ index b0d90e1..fdc1d54 100644 From d1d7a506c44da50b7da11aedc469c20badbac805 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sun, 16 Aug 2015 21:34:08 +0100 -Subject: [PATCH 04/17] [mysql] Fix incomprehensible error message [backport] +Subject: [PATCH 04/30] [mysql] Fix incomprehensible error message [backport] --- xbmc/dbwrappers/mysqldataset.cpp | 2 +- @@ -74,7 +74,7 @@ index 34c2477..f133dde 100644 From de0c4bde9ee5d03cbc8df67f3aae42d605b124c1 Mon Sep 17 00:00:00 2001 From: Frank Razenberg Date: Wed, 12 Aug 2015 23:44:38 +0200 -Subject: [PATCH 05/17] [action] Disregard sign of volume adjustment actions to +Subject: [PATCH 05/30] [action] Disregard sign of volume adjustment actions to match seeking behavior --- @@ -101,7 +101,7 @@ index f3f65c5..352df29 100644 From a657826315ad536ac8791413508f0645eb2d8492 Mon Sep 17 00:00:00 2001 From: Frank Razenberg Date: Wed, 12 Aug 2015 23:44:52 +0200 -Subject: [PATCH 06/17] [keymap] undo workaround for volume adjustment issue +Subject: [PATCH 06/30] [keymap] undo workaround for volume adjustment issue --- system/keymaps/joystick.Sony.PLAYSTATION(R)3.Controller.xml | 6 ++++-- @@ -128,7 +128,7 @@ index e4d2d07..43aee76 100644 From 81030f4eda4d66005807d284979cdfa8936c3ebb Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Mon, 3 Aug 2015 18:47:02 +0300 -Subject: [PATCH 07/17] [win32] Move call to SetSuspendState/InitiateShutdown +Subject: [PATCH 07/30] [win32] Move call to SetSuspendState/InitiateShutdown out from main thread. Calling SetSuspend in main thread prevents to receiving WM_POWERBROADCAST message on Suspend/Hibernate. This restores receiving WM_POWERBROADCAST message. @@ -287,7 +287,7 @@ index f484935..0bf3a98 100644 From 483ce5ee702a0f51607bbdf21136c6128609278d Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Mon, 3 Aug 2015 18:54:11 +0300 -Subject: [PATCH 08/17] [PowerManager] Show dialog busy only when processing +Subject: [PATCH 08/30] [PowerManager] Show dialog busy only when processing OnSleep. --- @@ -349,7 +349,7 @@ index 6754f42..1a0b68c 100644 From 523e4db8802b3e73acca0a0dfd70fab8ee8c66b4 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 11 Aug 2015 14:45:36 +0300 -Subject: [PATCH 09/17] [ApplicationMessenger] Moved call +Subject: [PATCH 09/30] [ApplicationMessenger] Moved call PVRManager::SetWakeupCommand to PowerManager::OnSleep for execute it when a actual suspend/hibernate occurs. @@ -401,7 +401,7 @@ index 1a0b68c..53a5217 100644 From 95bc7e24d528045f6bab2ef1ec02f80e33d05058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A4r=20Bj=C3=B6rklund?= Date: Wed, 12 Aug 2015 17:30:33 +0200 -Subject: [PATCH 10/17] [xbmc][win32] Fixes side flyout appearing when using +Subject: [PATCH 10/30] [xbmc][win32] Fixes side flyout appearing when using touch When querying for gesture capable controls the result was written over the x coordinate of the event and resent causing the flyout to think there's a mouseover. @@ -450,7 +450,7 @@ index fc8599c..ebd538d 100644 From 47219512d32f37df3d5338f63049e0726a6c2fa5 Mon Sep 17 00:00:00 2001 From: Thomas Amland Date: Tue, 18 Aug 2015 13:15:49 +0200 -Subject: [PATCH 12/17] [lang] fix fallback after 'no' was changed to 'nb_NO' +Subject: [PATCH 12/30] [lang] fix fallback after 'no' was changed to 'nb_NO' --- xbmc/addons/AddonManager.cpp | 2 ++ @@ -473,7 +473,7 @@ index 81b80b6..1c07fe0 100644 From c6b7a2a070e1d7d0bd61ad1110a68c9a6b27b16f Mon Sep 17 00:00:00 2001 From: Thomas Amland Date: Tue, 18 Aug 2015 16:11:23 +0200 -Subject: [PATCH 13/17] [addons] fix foreign filter after 'no' was changed to +Subject: [PATCH 13/30] [addons] fix foreign filter after 'no' was changed to 'nb_NO' --- @@ -539,7 +539,7 @@ index 3623014..ff53f09 100644 From 67b604e14458802d86ee2dd57f3d5a9c6ae27d43 Mon Sep 17 00:00:00 2001 From: Matthias Kortstiege Date: Tue, 18 Aug 2015 20:26:07 +0200 -Subject: [PATCH 14/17] [recentlyadded] fix empty LatestAlbum.Artist (closes +Subject: [PATCH 14/30] [recentlyadded] fix empty LatestAlbum.Artist (closes #16200) --- @@ -563,7 +563,7 @@ index a2f130e..094133d 100644 From b186cd8e7c0a47f45d1342250d70c9ee8e226b66 Mon Sep 17 00:00:00 2001 From: Matthias Kortstiege Date: Tue, 18 Aug 2015 19:29:00 +0200 -Subject: [PATCH 15/17] [guilib] fix double memory free in panel container +Subject: [PATCH 15/30] [guilib] fix double memory free in panel container --- xbmc/guilib/GUIPanelContainer.cpp | 8 +++----- @@ -599,7 +599,7 @@ index 6bb3f79..21fd4aa 100644 From c34028e6af638f614623874d5fceb111f94a77fa Mon Sep 17 00:00:00 2001 From: "Chris \"Koying\" Browet" Date: Fri, 21 Aug 2015 18:09:46 +0200 -Subject: [PATCH 16/17] Revert "[aml] - fix draining message queue" +Subject: [PATCH 16/30] Revert "[aml] - fix draining message queue" This breaks ff/rw/seek --- @@ -622,3 +622,693 @@ index 450b4a9..0503bec 100644 { m_old_pictcnt++; +From ccb57019a87eb2a914db277c8764c66529d00e15 Mon Sep 17 00:00:00 2001 +From: janbar +Date: Sat, 22 Aug 2015 15:01:30 +0200 +Subject: [PATCH 18/30] [pvr.mythtv] bump addon to version 2.6.1 + +- Support protocol 0.28-pre:87 +- Limit channel tune attempts +--- + project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt +index 6c2d24f..b5e4d63 100644 +--- a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt ++++ b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt +@@ -1 +1 @@ +-pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv 877774a ++pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv bf85a48 + +From c1c10734eee1d824d7297d7e388be6068f3aea5e Mon Sep 17 00:00:00 2001 +From: montellese +Date: Mon, 17 Aug 2015 23:15:35 +0200 +Subject: [PATCH 19/30] CLangInfo: properly set the time format when + setting/changing regions + +--- + xbmc/LangInfo.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/xbmc/LangInfo.cpp b/xbmc/LangInfo.cpp +index 844c6ae..2132460 100644 +--- a/xbmc/LangInfo.cpp ++++ b/xbmc/LangInfo.cpp +@@ -952,7 +952,12 @@ void CLangInfo::SetCurrentRegion(const std::string& strName) + if (CSettings::Get().GetString("locale.longdateformat") == SETTING_REGIONAL_DEFAULT) + SetLongDateFormat(m_currentRegion->m_strDateFormatLong); + if (CSettings::Get().GetString("locale.use24hourclock") == SETTING_REGIONAL_DEFAULT) ++ { + Set24HourClock(m_currentRegion->m_strTimeFormat); ++ ++ // update the time format ++ SetTimeFormat(CSettings::GetInstance().GetString("locale.timeformat")); ++ } + if (CSettings::Get().GetString("locale.timeformat") == SETTING_REGIONAL_DEFAULT) + SetTimeFormat(m_currentRegion->m_strTimeFormat); + if (CSettings::Get().GetString("locale.temperatureunit") == SETTING_REGIONAL_DEFAULT) + +From e0dd7b5e61ec2e5f45f607462693532322e56148 Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Sun, 23 Aug 2015 21:21:23 +0200 +Subject: [PATCH 20/30] dvdplayer: set default screen region for dvb subs + +--- + .../dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp +index e7bed43..06f81c8 100644 +--- a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp ++++ b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp +@@ -243,6 +243,16 @@ CDVDOverlay* CDVDOverlayCodecFFmpeg::GetOverlay() + m_height = m_pCodecContext->height; + m_width = m_pCodecContext->width; + ++ // ETSI EN 300 743 V1.3.1 ++ // 5.3.1 ++ // Absence of a DDS in a stream implies that the stream is coded in accordance with EN 300 743 (V1.2.1) [5] and that a ++ // display width of 720 pixels and a display height of 576 lines may be assumed. ++ if (!m_height && !m_width) ++ { ++ m_width = 720; ++ m_height = 576; ++ } ++ + RENDER_STEREO_MODE render_stereo_mode = g_graphicsContext.GetStereoMode(); + if (render_stereo_mode != RENDER_STEREO_MODE_OFF) + { + +From f93bcc6e1a53cfb75f949b6630372fc561ba161d Mon Sep 17 00:00:00 2001 +From: anaconda +Date: Tue, 25 Aug 2015 23:42:28 +0200 +Subject: [PATCH 21/30] Fix build after PR 7886. + +--- + xbmc/LangInfo.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xbmc/LangInfo.cpp b/xbmc/LangInfo.cpp +index 2132460..c0c7034 100644 +--- a/xbmc/LangInfo.cpp ++++ b/xbmc/LangInfo.cpp +@@ -956,7 +956,7 @@ void CLangInfo::SetCurrentRegion(const std::string& strName) + Set24HourClock(m_currentRegion->m_strTimeFormat); + + // update the time format +- SetTimeFormat(CSettings::GetInstance().GetString("locale.timeformat")); ++ SetTimeFormat(CSettings::Get().GetString("locale.timeformat")); + } + if (CSettings::Get().GetString("locale.timeformat") == SETTING_REGIONAL_DEFAULT) + SetTimeFormat(m_currentRegion->m_strTimeFormat); + +From 6fcd406132f2a95c5209beb29693365d047a55a3 Mon Sep 17 00:00:00 2001 +From: Matthias Kortstiege +Date: Mon, 24 Aug 2015 23:20:25 +0200 +Subject: [PATCH 22/30] [music] fix missing lyrics from tag when playing from + musicdb url (fixes #16216) + +--- + xbmc/GUIInfoManager.cpp | 2 -- + xbmc/music/MusicInfoLoader.cpp | 9 +++++---- + 2 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp +index 355e9a5..35f0d1d 100644 +--- a/xbmc/GUIInfoManager.cpp ++++ b/xbmc/GUIInfoManager.cpp +@@ -3711,8 +3711,6 @@ std::string CGUIInfoManager::GetMusicLabel(int item) + return StringUtils::Format("%s", m_audioInfo.audioCodecName.c_str()); + } + break; +- case MUSICPLAYER_LYRICS: +- return GetItemLabel(m_currentFile, AddListItemProp("lyrics")); + } + return GetMusicTagLabel(item, m_currentFile); + } +diff --git a/xbmc/music/MusicInfoLoader.cpp b/xbmc/music/MusicInfoLoader.cpp +index 8de9c4c..a3fef98 100644 +--- a/xbmc/music/MusicInfoLoader.cpp ++++ b/xbmc/music/MusicInfoLoader.cpp +@@ -107,14 +107,15 @@ bool CMusicInfoLoader::LoadAdditionalTagInfo(CFileItem* pItem) + + CLog::Log(LOGDEBUG, "Loading additional tag info for file %s", path.c_str()); + +- // we load up the actual tag for this file +- unique_ptr pLoader (CMusicInfoTagLoaderFactory::CreateLoader(*pItem)); ++ // we load up the actual tag for this file in order to ++ // fetch the lyrics and add it to the current music info tag ++ CFileItem tempItem(path, false); ++ unique_ptr pLoader (CMusicInfoTagLoaderFactory::CreateLoader(tempItem)); + if (NULL != pLoader.get()) + { + CMusicInfoTag tag; + pLoader->Load(path, tag); +- // then we set the fields from the file tags to the item +- pItem->SetProperty("lyrics", tag.GetLyrics()); ++ pItem->GetMusicInfoTag()->SetLyrics(tag.GetLyrics()); + pItem->SetProperty("hasfullmusictag", "true"); + return true; + } + +From 3764856852be67a3b285d5f4350910678289fe4e Mon Sep 17 00:00:00 2001 +From: "Chris \"koying\" Browet" +Date: Wed, 26 Aug 2015 14:47:26 +0200 +Subject: [PATCH 23/30] FIX: [amlegl] do not require RW on /sys/.../mode + +--- + xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp | 11 +++++++++-- + xbmc/windowing/egl/EGLNativeTypeAmlAndroid.h | 1 + + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp +index 5ea1d7c..08c2704 100644 +--- a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp ++++ b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp +@@ -28,14 +28,18 @@ + #include "utils/SysfsUtils.h" + #include "utils/AMLUtils.h" + ++bool CEGLNativeTypeAmlAndroid::m_isWritable = false; ++ + bool CEGLNativeTypeAmlAndroid::CheckCompatibility() + { + if (aml_present()) + { ++ m_isWritable = false; + if (SysfsUtils::HasRW("/sys/class/display/mode")) +- return true; ++ m_isWritable = true; + else +- CLog::Log(LOGERROR, "AMLEGL: no rw on /sys/class/display/mode"); ++ CLog::Log(LOGINFO, "AMLEGL: no rw on /sys/class/display/mode"); ++ return true; + } + return false; + } +@@ -62,6 +66,9 @@ bool CEGLNativeTypeAmlAndroid::GetNativeResolution(RESOLUTION_INFO *res) const + + bool CEGLNativeTypeAmlAndroid::SetNativeResolution(const RESOLUTION_INFO &res) + { ++ if (!m_isWritable) ++ return false; ++ + switch((int)(res.fRefreshRate*10)) + { + default: +diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.h b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.h +index 27a935b..6887537 100644 +--- a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.h ++++ b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.h +@@ -36,6 +36,7 @@ class CEGLNativeTypeAmlAndroid : public CEGLNativeTypeAndroid + protected: + mutable std::string m_curHdmiResolution; + mutable RESOLUTION_INFO m_fb_res; ++ static bool m_isWritable; + + bool SetDisplayResolution(const char *resolution); + }; + +From 26db5af8a5c788ce8fa3e036a11a194b6a445bd4 Mon Sep 17 00:00:00 2001 +From: Chris Browet +Date: Tue, 11 Aug 2015 18:12:28 +0200 +Subject: [PATCH 24/30] FIX: [amlegl] additional display modes + +--- + xbmc/utils/AMLUtils.cpp | 45 ++++++++++++++++++++++++++ + xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp | 32 ++++++++++++++++++ + 2 files changed, 77 insertions(+) + +diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp +index bcb57fcd..ac2667c 100644 +--- a/xbmc/utils/AMLUtils.cpp ++++ b/xbmc/utils/AMLUtils.cpp +@@ -356,6 +356,15 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) + res->fRefreshRate = 60; + res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; + } ++ else if (StringUtils::EqualsNoCase(fromMode, "1080p23hz")) ++ { ++ res->iWidth = 1920; ++ res->iHeight= 1080; ++ res->iScreenWidth = 1920; ++ res->iScreenHeight= 1080; ++ res->fRefreshRate = 23.976; ++ res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ } + else if (StringUtils::EqualsNoCase(fromMode, "1080p24hz")) + { + res->iWidth = 1920; +@@ -383,6 +392,15 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) + res->fRefreshRate = 50; + res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; + } ++ else if (StringUtils::EqualsNoCase(fromMode, "1080p59hz")) ++ { ++ res->iWidth = 1920; ++ res->iHeight= 1080; ++ res->iScreenWidth = 1920; ++ res->iScreenHeight= 1080; ++ res->fRefreshRate = 59.940; ++ res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ } + else if (StringUtils::EqualsNoCase(fromMode, "1080i")) + { + res->iWidth = 1920; +@@ -401,6 +419,15 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) + res->fRefreshRate = 50; + res->dwFlags = D3DPRESENTFLAG_INTERLACED; + } ++ else if (StringUtils::EqualsNoCase(fromMode, "1080i59hz")) ++ { ++ res->iWidth = 1920; ++ res->iHeight= 1080; ++ res->iScreenWidth = 1920; ++ res->iScreenHeight= 1080; ++ res->fRefreshRate = 59.940; ++ res->dwFlags = D3DPRESENTFLAG_INTERLACED; ++ } + else if (StringUtils::EqualsNoCase(fromMode, "4k2ksmpte")) + { + res->iWidth = 1920; +@@ -410,6 +437,15 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) + res->fRefreshRate = 24; + res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; + } ++ else if (StringUtils::EqualsNoCase(fromMode, "4k2k23hz")) ++ { ++ res->iWidth = 1920; ++ res->iHeight= 1080; ++ res->iScreenWidth = 3840; ++ res->iScreenHeight= 2160; ++ res->fRefreshRate = 23.976; ++ res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ } + else if (StringUtils::EqualsNoCase(fromMode, "4k2k24hz")) + { + res->iWidth = 1920; +@@ -428,6 +464,15 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) + res->fRefreshRate = 25; + res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; + } ++ else if (StringUtils::EqualsNoCase(fromMode, "4k2k29hz")) ++ { ++ res->iWidth = 1920; ++ res->iHeight= 1080; ++ res->iScreenWidth = 3840; ++ res->iScreenHeight= 2160; ++ res->fRefreshRate = 29.970; ++ res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ } + else if (StringUtils::EqualsNoCase(fromMode, "4k2k30hz")) + { + res->iWidth = 1920; +diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp +index 08c2704..111442c 100644 +--- a/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp ++++ b/xbmc/windowing/egl/EGLNativeTypeAmlAndroid.cpp +@@ -87,6 +87,16 @@ bool CEGLNativeTypeAmlAndroid::SetNativeResolution(const RESOLUTION_INFO &res) + break; + } + break; ++ case 599: ++ switch(res.iScreenWidth) ++ { ++ default: ++ if (res.dwFlags & D3DPRESENTFLAG_INTERLACED) ++ return SetDisplayResolution("1080i59hz"); ++ else ++ return SetDisplayResolution("1080p59hz"); ++ break; ++ } + case 500: + switch(res.iScreenWidth) + { +@@ -113,6 +123,17 @@ bool CEGLNativeTypeAmlAndroid::SetNativeResolution(const RESOLUTION_INFO &res) + break; + } + break; ++ case 299: ++ switch(res.iScreenWidth) ++ { ++ case 3840: ++ return SetDisplayResolution("4k2k29hz"); ++ break; ++ default: ++ return SetDisplayResolution("1080p29hz"); ++ break; ++ } ++ break; + case 250: + switch(res.iScreenWidth) + { +@@ -138,6 +159,17 @@ bool CEGLNativeTypeAmlAndroid::SetNativeResolution(const RESOLUTION_INFO &res) + break; + } + break; ++ case 239: ++ switch(res.iScreenWidth) ++ { ++ case 3840: ++ return SetDisplayResolution("4k2k23hz"); ++ break; ++ default: ++ return SetDisplayResolution("1080p23hz"); ++ break; ++ } ++ break; + } + + return false; + +From 98e077f5cb7c3cf319f674b0ded85b8e2e32d334 Mon Sep 17 00:00:00 2001 +From: "h.udo" +Date: Thu, 27 Aug 2015 22:42:19 +0100 +Subject: [PATCH 25/30] [pvr] Fix json depend MIA + +--- + project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt | 2 +- + project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt | 2 +- + project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt | 2 +- + project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt b/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt +index 31457f5..7ec9c06 100644 +--- a/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt ++++ b/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt +@@ -1 +1 @@ +-pvr.argustv https://github.com/kodi-pvr/pvr.argustv 96c8026 ++pvr.argustv https://github.com/kodi-pvr/pvr.argustv 32f0327 +diff --git a/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt b/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt +index f9bfe22..c7bf82c 100644 +--- a/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt ++++ b/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt +@@ -1 +1 @@ +-pvr.filmon https://github.com/kodi-pvr/pvr.filmon 5c41f4e ++pvr.filmon https://github.com/kodi-pvr/pvr.filmon 67abb56 +diff --git a/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt b/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt +index ddcdb9c..78326ce 100644 +--- a/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt ++++ b/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt +@@ -1 +1 @@ +-pvr.pctv https://github.com/kodi-pvr/pvr.pctv d23160c ++pvr.pctv https://github.com/kodi-pvr/pvr.pctv bca8165 +diff --git a/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt b/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt +index dfd0ac0..8182ad1 100644 +--- a/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt ++++ b/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt +@@ -1 +1 @@ +-pvr.stalker https://github.com/kodi-pvr/pvr.stalker 5f6eb19 ++pvr.stalker https://github.com/kodi-pvr/pvr.stalker e556508 + +From 355e7bc69c3f787ce46c1080b4be55e79306a7b2 Mon Sep 17 00:00:00 2001 +From: Memphiz +Date: Fri, 28 Aug 2015 09:45:02 +0200 +Subject: [PATCH 26/30] [osx/darwinutils] - add method IsLion to check for + 10.7.x runtime + +--- + xbmc/osx/DarwinUtils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/xbmc/osx/DarwinUtils.h b/xbmc/osx/DarwinUtils.h +index 7763548..0a0423e 100644 +--- a/xbmc/osx/DarwinUtils.h ++++ b/xbmc/osx/DarwinUtils.h +@@ -33,6 +33,7 @@ class CDarwinUtils + static const char *getIosPlatformString(void); + static bool IsAppleTV2(void); + static bool IsMavericks(void); ++ static bool IsLion(void); + static bool IsSnowLeopard(void); + static bool DeviceHasRetina(double &scale); + static const char *GetOSReleaseString(void); + +From 1d26a1ff992b2eb76ebbea071cfae5e1ed109c35 Mon Sep 17 00:00:00 2001 +From: Memphiz +Date: Fri, 28 Aug 2015 09:46:46 +0200 +Subject: [PATCH 27/30] [osx/darwinutils] - add implementation for IsLion to + determine 10.7.x runtime + +--- + xbmc/osx/DarwinUtils.mm | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/xbmc/osx/DarwinUtils.mm b/xbmc/osx/DarwinUtils.mm +index 75ece9f..b1b282f 100644 +--- a/xbmc/osx/DarwinUtils.mm ++++ b/xbmc/osx/DarwinUtils.mm +@@ -212,6 +212,20 @@ enum iosPlatform getIosPlatform() + return isMavericks == 1; + } + ++bool CDarwinUtils::IsLion(void) ++{ ++ static int isLion = -1; ++#if defined(TARGET_DARWIN_OSX) ++ if (isLion == -1) ++ { ++ double appKitVersion = floor(NSAppKitVersionNumber); ++ // everything lower 10.8 is 10.7.x because 10.7 is deployment target... ++ isLion = (appKitVersion < NSAppKitVersionNumber10_8) ? 1 : 0; ++ } ++#endif ++ return isLion == 1; ++} ++ + bool CDarwinUtils::IsSnowLeopard(void) + { + static int isSnowLeopard = -1; + +From 896511cb1bd03a0927903f5f65f8c572129e8154 Mon Sep 17 00:00:00 2001 +From: Memphiz +Date: Fri, 28 Aug 2015 09:49:21 +0200 +Subject: [PATCH 28/30] [osx] - on 10.7.x runtime never call + Cocoa_GetVolumeNameFromMountPoint as it crashes + +--- + xbmc/storage/osx/DarwinStorageProvider.cpp | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/xbmc/storage/osx/DarwinStorageProvider.cpp b/xbmc/storage/osx/DarwinStorageProvider.cpp +index 6be9ab1..19c99b7 100644 +--- a/xbmc/storage/osx/DarwinStorageProvider.cpp ++++ b/xbmc/storage/osx/DarwinStorageProvider.cpp +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include "osx/DarwinUtils.h" + #endif + #include "osx/CocoaInterface.h" + +@@ -62,6 +63,9 @@ void CDarwinStorageProvider::GetLocalDrives(VECSOURCES &localDrives) + share.strName = "Volumes"; + share.m_ignore = true; + localDrives.push_back(share); ++ ++ if (CDarwinUtils::IsLion()) ++ return; //temp workaround for crash in Cocoa_GetVolumeNameFromMountPoint on 10.7.x + + // This will pick up all local non-removable disks including the Root Disk. + DASessionRef session = DASessionCreate(kCFAllocatorDefault); +@@ -106,6 +110,10 @@ void CDarwinStorageProvider::GetLocalDrives(VECSOURCES &localDrives) + void CDarwinStorageProvider::GetRemovableDrives(VECSOURCES &removableDrives) + { + #if defined(TARGET_DARWIN_OSX) ++ ++ if (CDarwinUtils::IsLion()) ++ return; //temp workaround for crash in Cocoa_GetVolumeNameFromMountPoint on 10.7.x ++ + DASessionRef session = DASessionCreate(kCFAllocatorDefault); + if (session) + { + +From f462c0e42fcb019951867af15dd7173281ce5454 Mon Sep 17 00:00:00 2001 +From: janbar +Date: Mon, 31 Aug 2015 20:48:14 +0200 +Subject: [PATCH 29/30] [pvr.mythtv] bump addon to version 2.6.2 + +- Security fix for JSON parser +- Add EPG Entry associated with recent Recording +--- + project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt +index b5e4d63..97d4ecb 100644 +--- a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt ++++ b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt +@@ -1 +1 @@ +-pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv bf85a48 ++pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv eb8d29e + +From 79fab8184b60ea0be6923804f973289f1f0f4318 Mon Sep 17 00:00:00 2001 +From: Craig Andrews +Date: Thu, 30 Jul 2015 23:06:41 -0400 +Subject: [PATCH 30/30] [rsxs] Use stdbool.h from GCC 5.2.0 + +--- + xbmc/screensavers/rsxs-0.9/lib/stdbool_.h | 137 +++++++++--------------------- + 1 file changed, 38 insertions(+), 99 deletions(-) + +diff --git a/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h b/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h +index efa80ba..a951510 100644 +--- a/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h ++++ b/xbmc/screensavers/rsxs-0.9/lib/stdbool_.h +@@ -1,115 +1,54 @@ +-/* Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. +- Written by Bruno Haible , 2001. ++/* Copyright (C) 1998-2015 Free Software Foundation, Inc. + +- This program is free software; you can redistribute it and/or modify +- it under the terms of the GNU General Public License as published by +- the Free Software Foundation; either version 2, or (at your option) +- any later version. ++This file is part of GCC. + +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- GNU General Public License for more details. ++GCC is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License as published by ++the Free Software Foundation; either version 3, or (at your option) ++any later version. + +- You should have received a copy of the GNU General Public License +- along with this program; if not, write to the Free Software Foundation, +- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++GCC is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. + +-#ifndef _STDBOOL_H +-#define _STDBOOL_H +- +-/* ISO C 99 for platforms that lack it. */ +- +-/* Usage suggestions: +- +- Programs that use should be aware of some limitations +- and standards compliance issues. +- +- Standards compliance: ++Under Section 7 of GPL version 3, you are granted additional ++permissions described in the GCC Runtime Library Exception, version ++3.1, as published by the Free Software Foundation. + +- - must be #included before 'bool', 'false', 'true' +- can be used. ++You should have received a copy of the GNU General Public License and ++a copy of the GCC Runtime Library Exception along with this program; ++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++. */ + +- - You cannot assume that sizeof (bool) == 1. ++/* ++ * ISO C Standard: 7.16 Boolean type and values ++ */ + +- - Programs should not undefine the macros bool, true, and false, +- as C99 lists that as an "obsolescent feature". +- +- Limitations of this substitute, when used in a C89 environment: +- +- - must be #included before the '_Bool' type can be used. +- +- - You cannot assume that _Bool is a typedef; it might be a macro. ++#ifndef _STDBOOL_H ++#define _STDBOOL_H + +- - In C99, casts and automatic conversions to '_Bool' or 'bool' are +- performed in such a way that every nonzero value gets converted +- to 'true', and zero gets converted to 'false'. This doesn't work +- with this substitute. With this substitute, only the values 0 and 1 +- give the expected result when converted to _Bool' or 'bool'. ++#ifndef __cplusplus + +- Also, it is suggested that programs use 'bool' rather than '_Bool'; +- this isn't required, but 'bool' is more common. */ ++#define bool _Bool ++#define true 1 ++#define false 0 + ++#else /* __cplusplus */ + +-/* 7.16. Boolean type and values */ ++/* Supporting _Bool in C++ is a GCC extension. */ ++#define _Bool bool + +-/* BeOS already #defines false 0, true 1. We use the same +- definitions below, but temporarily we have to #undef them. */ +-#ifdef __BEOS__ +-# include /* defines bool but not _Bool */ +-# undef false +-# undef true ++#if __cplusplus < 201103L ++/* Defining these macros in C++98 is a GCC extension. */ ++#define bool bool ++#define false false ++#define true true + #endif + +-/* For the sake of symbolic names in gdb, we define true and false as +- enum constants, not only as macros. +- It is tempting to write +- typedef enum { false = 0, true = 1 } _Bool; +- so that gdb prints values of type 'bool' symbolically. But if we do +- this, values of type '_Bool' may promote to 'int' or 'unsigned int' +- (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' +- (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the +- enum; this ensures that '_Bool' promotes to 'int'. */ +-#if defined __cplusplus || defined __BEOS__ +- /* A compiler known to have 'bool'. */ +- /* If the compiler already has both 'bool' and '_Bool', we can assume they +- are the same types. */ +-# if !@HAVE__BOOL@ +-typedef bool _Bool; +-# endif +-#else +-# if !defined __GNUC__ +- /* If @HAVE__BOOL@: +- Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when +- the built-in _Bool type is used. See +- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html +- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html +- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html +- Similar bugs are likely with other compilers as well; this file +- wouldn't be used if was working. +- So we override the _Bool type. +- If !@HAVE__BOOL@: +- Need to define _Bool ourselves. As 'signed char' or as an enum type? +- Use of a typedef, with SunPRO C, leads to a stupid +- "warning: _Bool is a keyword in ISO C99". +- Use of an enum type, with IRIX cc, leads to a stupid +- "warning(1185): enumerated type mixed with another type". +- The only benefit of the enum type, debuggability, is not important +- with these compilers. So use 'signed char' and no typedef. */ +-# define _Bool signed char +-enum { false = 0, true = 1 }; +-# else +- /* With this compiler, trust the _Bool type if the compiler has it. */ +-# if !@HAVE__BOOL@ +-typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; +-# endif +-# endif +-#endif +-#define bool _Bool ++#endif /* __cplusplus */ + +-/* The other macros must be usable in preprocessor directives. */ +-#define false 0 +-#define true 1 +-#define __bool_true_false_are_defined 1 ++/* Signal that all the definitions are present. */ ++#define __bool_true_false_are_defined 1 + +-#endif /* _STDBOOL_H */ ++#endif /* stdbool.h */