aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarnova <arnova@void.org>2016-02-25 11:23:32 +0100
committerarnova <arnova@void.org>2016-02-27 19:11:34 +0100
commit678bc24606ba85756ecbec5be170297ce7815d2e (patch)
tree10e81254142567aa6f360da8cc63a9364142b0a9
parentefbb55d3cef24da8c73891407121493f1f1962f6 (diff)
fixed: Screensaver would lockup Kodi when stopping on slow systems
-rw-r--r--xbmc/addons/ScreenSaver.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/xbmc/addons/ScreenSaver.cpp b/xbmc/addons/ScreenSaver.cpp
index 4df3a667b2..07c2fb94ca 100644
--- a/xbmc/addons/ScreenSaver.cpp
+++ b/xbmc/addons/ScreenSaver.cpp
@@ -27,7 +27,7 @@
// What sound does a python screensaver make?
#define SCRIPT_ALARM "sssssscreensaver"
-#define SCRIPT_TIMEOUT 5 // seconds
+#define SCRIPT_TIMEOUT 15 // seconds
namespace ADDON
{
@@ -108,6 +108,10 @@ void CScreenSaver::Destroy()
#ifdef HAS_PYTHON
if (URIUtils::HasExtension(LibPath(), ".py"))
{
+ /* FIXME: This is a hack but a proper fix is non-trivial. Basically this code
+ * makes sure the addon gets terminated after we've moved out of the screensaver window.
+ * If we don't do this, we may simply lockup.
+ */
g_alarmClock.Start(SCRIPT_ALARM, SCRIPT_TIMEOUT, "StopScript(" + LibPath() + ")", true, false);
return;
}