diff --git a/packages/mediacenter/kodi/patches/kodi-999.99-Allow_Dim_screensaver_to_animate_when_closing.patch b/packages/mediacenter/kodi/patches/kodi-999.99-Allow_Dim_screensaver_to_animate_when_closing.patch new file mode 100644 index 0000000000..6a5220807e --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-999.99-Allow_Dim_screensaver_to_animate_when_closing.patch @@ -0,0 +1,40 @@ +diff -Naur kodi-15.2-02e7013/xbmc/windows/GUIWindowScreensaverDim.cpp kodi-15.2-02e7013.patch/xbmc/windows/GUIWindowScreensaverDim.cpp +--- kodi-15.2-02e7013/xbmc/windows/GUIWindowScreensaverDim.cpp 2015-10-20 23:51:49.000000000 +0200 ++++ kodi-15.2-02e7013.patch/xbmc/windows/GUIWindowScreensaverDim.cpp 2015-10-26 08:33:22.899595510 +0100 +@@ -29,6 +29,7 @@ + { + m_needsScaling = false; + m_dimLevel = 100.0f; ++ m_newDimLevel = 100.0f; + m_animations.push_back(CAnimation::CreateFader(0, 100, 0, 1000, ANIM_TYPE_WINDOW_OPEN)); + m_animations.push_back(CAnimation::CreateFader(100, 0, 0, 1000, ANIM_TYPE_WINDOW_CLOSE)); + m_renderOrder = INT_MAX; +@@ -40,8 +41,8 @@ + + void CGUIWindowScreensaverDim::UpdateVisibility() + { +- m_dimLevel = g_application.GetDimScreenSaverLevel(); +- if (m_dimLevel) ++ m_newDimLevel = g_application.GetDimScreenSaverLevel(); ++ if (m_newDimLevel) + Show(); + else + Close(); +@@ -49,6 +50,8 @@ + + void CGUIWindowScreensaverDim::Process(unsigned int currentTime, CDirtyRegionList &dirtyregions) + { ++ if (m_newDimLevel != m_dimLevel && !IsAnimating(ANIM_TYPE_WINDOW_CLOSE)) ++ m_dimLevel = m_newDimLevel; + CGUIDialog::Process(currentTime, dirtyregions); + m_renderRegion.SetRect(0, 0, (float)g_graphicsContext.GetWidth(), (float)g_graphicsContext.GetHeight()); + } +diff -Naur kodi-15.2-02e7013/xbmc/windows/GUIWindowScreensaverDim.h kodi-15.2-02e7013.patch/xbmc/windows/GUIWindowScreensaverDim.h +--- kodi-15.2-02e7013/xbmc/windows/GUIWindowScreensaverDim.h 2015-10-20 23:51:49.000000000 +0200 ++++ kodi-15.2-02e7013.patch/xbmc/windows/GUIWindowScreensaverDim.h 2015-10-26 08:29:37.079092044 +0100 +@@ -34,4 +34,5 @@ + virtual void UpdateVisibility(); + private: + float m_dimLevel; ++ float m_newDimLevel; + };