From d6ad6600478aa07c9d04a2bf31801d0ddef96e13 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 31 Aug 2014 14:41:55 +0200 Subject: [PATCH] xbmc: add PR5294 Signed-off-by: Stephan Raue --- .../xbmc-102-disable_backslash-0.1.patch | 12 --- .../xbmc-995.10-disable-minimize.patch | 18 ---- .../xbmc/patches/xbmc-999.91-PR5294.patch | 92 +++++++++++++++++++ 3 files changed, 92 insertions(+), 30 deletions(-) delete mode 100644 packages/mediacenter/xbmc/patches/xbmc-102-disable_backslash-0.1.patch delete mode 100644 packages/mediacenter/xbmc/patches/xbmc-995.10-disable-minimize.patch create mode 100644 packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-102-disable_backslash-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-102-disable_backslash-0.1.patch deleted file mode 100644 index 0888920258..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-102-disable_backslash-0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xbmc-30a9070/system/keymaps/keyboard.xml xbmc-30a9070.patch/system/keymaps/keyboard.xml ---- xbmc-30a9070/system/keymaps/keyboard.xml 2011-07-28 06:20:13.000000000 +0200 -+++ xbmc-30a9070.patch/system/keymaps/keyboard.xml 2011-07-28 09:39:57.210973380 +0200 -@@ -90,7 +90,7 @@ - Number7 - Number8 - Number9 -- ToggleFullScreen -+ - FirstPage - LastPage - diff --git a/packages/mediacenter/xbmc/patches/xbmc-995.10-disable-minimize.patch b/packages/mediacenter/xbmc/patches/xbmc-995.10-disable-minimize.patch deleted file mode 100644 index c0fe5a62ab..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-995.10-disable-minimize.patch +++ /dev/null @@ -1,18 +0,0 @@ -commit 17807066bc04cd28bba89fd176d4d0f69ead9728 -Author: Stefan Saraev -Date: Sat Oct 12 16:18:50 2013 +0300 - - disable minimize - -diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index b5d40c0..18bea9d 100644 ---- a/xbmc/Application.cpp -+++ b/xbmc/Application.cpp -@@ -5448,7 +5448,6 @@ bool CApplication::SwitchToFullScreen() - - void CApplication::Minimize() - { -- g_Windowing.Minimize(); - } - - PLAYERCOREID CApplication::GetCurrentPlayer() diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch b/packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch new file mode 100644 index 0000000000..6d42f13e2b --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-999.91-PR5294.patch @@ -0,0 +1,92 @@ +From 13519e92f7db6a15c0171a229420f528b317507e Mon Sep 17 00:00:00 2001 +From: "Chris \"Koying\" Browet" +Date: Sun, 31 Aug 2014 08:59:17 +0200 +Subject: [PATCH 1/2] FIX: prevent switching to windowed mode on windowing + system not actually supporting it + +--- + xbmc/settings/DisplaySettings.cpp | 3 +++ + xbmc/windowing/WinSystem.h | 1 + + xbmc/windowing/egl/WinSystemEGL.h | 1 + + xbmc/windowing/osx/WinSystemIOS.h | 1 + + 4 files changed, 6 insertions(+) + +diff --git a/xbmc/settings/DisplaySettings.cpp b/xbmc/settings/DisplaySettings.cpp +index bb31f15..44d5283 100644 +--- a/xbmc/settings/DisplaySettings.cpp ++++ b/xbmc/settings/DisplaySettings.cpp +@@ -330,6 +330,9 @@ bool CDisplaySettings::OnSettingUpdate(CSetting* &setting, const char *oldSettin + + void CDisplaySettings::SetCurrentResolution(RESOLUTION resolution, bool save /* = false */) + { ++ if (resolution == RES_WINDOW && !g_Windowing.CanDoWindowed()) ++ resolution = RES_DESKTOP; ++ + if (save) + { + string mode = GetStringFromResolution(resolution); +diff --git a/xbmc/windowing/WinSystem.h b/xbmc/windowing/WinSystem.h +index c0db210..59aeb2c 100644 +--- a/xbmc/windowing/WinSystem.h ++++ b/xbmc/windowing/WinSystem.h +@@ -96,6 +96,7 @@ class CWinSystemBase + unsigned int GetHeight() { return m_nHeight; } + virtual int GetNumScreens() { return 0; } + virtual int GetCurrentScreen() { return 0; } ++ virtual bool CanDoWindowed() { return true; } + bool IsFullScreen() { return m_bFullScreen; } + virtual void UpdateResolutions(); + void SetWindowResolution(int width, int height); +diff --git a/xbmc/windowing/egl/WinSystemEGL.h b/xbmc/windowing/egl/WinSystemEGL.h +index d9b3151..6c15471 100644 +--- a/xbmc/windowing/egl/WinSystemEGL.h ++++ b/xbmc/windowing/egl/WinSystemEGL.h +@@ -44,6 +44,7 @@ class CWinSystemEGL : public CWinSystemBase, public CRenderSystemGLES + virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays); + virtual void UpdateResolutions(); + virtual bool IsExtSupported(const char* extension); ++ virtual bool CanDoWindowed() { return false; } + + virtual void ShowOSMouse(bool show); + virtual bool HasCursor(); +diff --git a/xbmc/windowing/osx/WinSystemIOS.h b/xbmc/windowing/osx/WinSystemIOS.h +index 5bab45a..049e0c8 100644 +--- a/xbmc/windowing/osx/WinSystemIOS.h ++++ b/xbmc/windowing/osx/WinSystemIOS.h +@@ -44,6 +44,7 @@ class CWinSystemIOS : public CWinSystemBase, public CRenderSystemGLES + virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop); + virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays); + virtual void UpdateResolutions(); ++ virtual bool CanDoWindowed() { return false; } + + virtual void ShowOSMouse(bool show); + virtual bool HasCursor(); + +From da41d9b8e52ddfc521a05a588efcf8443989fb83 Mon Sep 17 00:00:00 2001 +From: "Chris \"Koying\" Browet" +Date: Sun, 31 Aug 2014 09:00:42 +0200 +Subject: [PATCH 2/2] FIX: do not mark resolution as changed if it didn't + +--- + xbmc/settings/DisplaySettings.cpp | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/xbmc/settings/DisplaySettings.cpp b/xbmc/settings/DisplaySettings.cpp +index 44d5283..e43445b 100644 +--- a/xbmc/settings/DisplaySettings.cpp ++++ b/xbmc/settings/DisplaySettings.cpp +@@ -339,9 +339,11 @@ void CDisplaySettings::SetCurrentResolution(RESOLUTION resolution, bool save /* + CSettings::Get().SetString("videoscreen.screenmode", mode.c_str()); + } + +- m_currentResolution = resolution; +- +- SetChanged(); ++ if (resolution != m_currentResolution) ++ { ++ m_currentResolution = resolution; ++ SetChanged(); ++ } + } + + RESOLUTION CDisplaySettings::GetDisplayResolution() const