diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index 21ec636dff..6b6a0a7a0f 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="kodi" -PKG_VERSION="2f11e994f322f7376476b186293a3df34246b9a7" -PKG_SHA256="7268c2900c5b893f331e471b31bfb214ff91473753b78211887247585bb82487" +PKG_VERSION="75d8ad548b4563612b79484576315db1b088dd7b" +PKG_SHA256="cc18facab956c45a8ac5425f8eb6e2ddd32e8858ea2f6624fd0699c47fe45860" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="https://github.com/xbmc/xbmc/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/mediacenter/kodi/patches/kodi-100.07-disable-minimize.patch b/packages/mediacenter/kodi/patches/kodi-100.07-disable-minimize.patch index b990626e55..bbc7f371f4 100644 --- a/packages/mediacenter/kodi/patches/kodi-100.07-disable-minimize.patch +++ b/packages/mediacenter/kodi/patches/kodi-100.07-disable-minimize.patch @@ -9,7 +9,7 @@ Subject: [PATCH 07/13] disable minimize --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -2092,7 +2092,6 @@ void CApplication::OnApplicationMessage( +@@ -2106,7 +2106,6 @@ void CApplication::OnApplicationMessage( break; case TMSG_MINIMIZE: diff --git a/packages/mediacenter/kodi/patches/kodi-100.10-handle-SIGTERM.patch b/packages/mediacenter/kodi/patches/kodi-100.10-handle-SIGTERM.patch index 581511c582..d576c686a1 100644 --- a/packages/mediacenter/kodi/patches/kodi-100.10-handle-SIGTERM.patch +++ b/packages/mediacenter/kodi/patches/kodi-100.10-handle-SIGTERM.patch @@ -1,6 +1,6 @@ -From e658546b32da44813c3a9913fc55c71e1e946b13 Mon Sep 17 00:00:00 2001 +From 244cbd6ac18eb6e2ce2c7a89c95cd33380439caa Mon Sep 17 00:00:00 2001 From: MilhouseVH -Date: Thu, 10 Mar 2022 23:20:09 +0100 +Date: Sun, 3 Apr 2022 11:31:07 +0200 Subject: [PATCH] handle SIGTERM 0. CApplication::Stop cant be trusted. (deadlocks crashes and boo) @@ -16,15 +16,13 @@ so, when shutdown/reboot is requested: 7. KILL --- xbmc/Application.cpp | 24 ++++++++++++++----- - xbmc/Application.h | 1 + - xbmc/XBApplicationEx.cpp | 1 + - xbmc/XBApplicationEx.h | 1 + + xbmc/Application.h | 2 ++ .../powermanagement/LogindUPowerSyscall.cpp | 2 -- - 5 files changed, 21 insertions(+), 8 deletions(-) + 3 files changed, 20 insertions(+), 8 deletions(-) --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -1968,12 +1968,12 @@ void CApplication::OnApplicationMessage( +@@ -1982,12 +1982,12 @@ void CApplication::OnApplicationMessage( switch (msg) { case TMSG_POWERDOWN: @@ -39,7 +37,7 @@ so, when shutdown/reboot is requested: break; case TMSG_SHUTDOWN: -@@ -1994,12 +1994,13 @@ void CApplication::OnApplicationMessage( +@@ -2008,12 +2008,13 @@ void CApplication::OnApplicationMessage( case TMSG_RESTART: case TMSG_RESET: @@ -54,7 +52,7 @@ so, when shutdown/reboot is requested: Stop(EXITCODE_RESTARTAPP); #endif break; -@@ -2530,7 +2531,7 @@ bool CApplication::Stop(int exitCode) +@@ -2598,7 +2599,7 @@ bool CApplication::Stop(int exitCode) m_frameMoveGuard.unlock(); CVariant vExitCode(CVariant::VariantTypeObject); @@ -63,15 +61,15 @@ so, when shutdown/reboot is requested: CServiceBroker::GetAnnouncementManager()->Announce(ANNOUNCEMENT::System, "OnQuit", vExitCode); // Abort any active screensaver -@@ -2562,7 +2563,6 @@ bool CApplication::Stop(int exitCode) +@@ -2630,7 +2631,6 @@ bool CApplication::Stop(int exitCode) // Needs cleaning up - CApplicationMessenger::GetInstance().Stop(); + CServiceBroker::GetAppMessenger()->Stop(); m_AppFocused = false; - m_ExitCode = exitCode; CLog::Log(LOGINFO, "Stopping all"); // cancel any jobs from the jobmanager -@@ -3149,6 +3149,18 @@ void CApplication::OnQueueNextItem() +@@ -3217,6 +3217,18 @@ void CApplication::OnQueueNextItem() CServiceBroker::GetGUI()->GetWindowManager().SendThreadMessage(msg); } @@ -90,18 +88,18 @@ so, when shutdown/reboot is requested: void CApplication::OnPlayBackStopped() { CLog::LogF(LOGDEBUG, "CApplication::OnPlayBackStopped"); -@@ -4215,7 +4227,7 @@ void CApplication::ProcessSlow() +@@ -4284,7 +4296,7 @@ void CApplication::ProcessSlow() if (CPlatformPosix::TestQuitFlag()) { CLog::Log(LOGINFO, "Quitting due to POSIX signal"); -- CApplicationMessenger::GetInstance().PostMsg(TMSG_QUIT); -+ CApplicationMessenger::GetInstance().PostMsg(TMSG_RESTARTAPP); +- CServiceBroker::GetAppMessenger()->PostMsg(TMSG_QUIT); ++ CServiceBroker::GetAppMessenger()->PostMsg(TMSG_RESTARTAPP); } #endif --- a/xbmc/Application.h +++ b/xbmc/Application.h -@@ -138,6 +138,7 @@ public: +@@ -153,6 +153,7 @@ public: bool InitWindow(RESOLUTION res = RES_INVALID); bool IsCurrentThread() const; @@ -109,26 +107,14 @@ so, when shutdown/reboot is requested: bool Stop(int exitCode); void UnloadSkin(); bool LoadCustomWindows(); ---- a/xbmc/XBApplicationEx.cpp -+++ b/xbmc/XBApplicationEx.cpp -@@ -22,6 +22,7 @@ CXBApplicationEx::CXBApplicationEx() - m_bStop = false; - m_AppFocused = true; - m_ExitCode = EXITCODE_QUIT; -+ m_ExitCodeSet = false; - m_renderGUI = false; - } - ---- a/xbmc/XBApplicationEx.h -+++ b/xbmc/XBApplicationEx.h -@@ -29,6 +29,7 @@ public: - // Variables for timing - bool m_bStop; - int m_ExitCode; -+ bool m_ExitCodeSet; - bool m_AppFocused; - bool m_renderGUI; +@@ -458,6 +459,7 @@ private: + CApplicationStackHelper m_stackHelper; + std::string m_windowing; + int m_ExitCode{EXITCODE_QUIT}; ++ bool m_ExitCodeSet = false; + }; + XBMC_GLOBAL_REF(CApplication,g_application); --- a/xbmc/platform/linux/powermanagement/LogindUPowerSyscall.cpp +++ b/xbmc/platform/linux/powermanagement/LogindUPowerSyscall.cpp @@ -78,8 +78,6 @@ CLogindUPowerSyscall::~CLogindUPowerSysc