mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
xbmc: update to xbmc-30312f1 (RC1)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
76b85fdce6
commit
53e731621f
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xbmc-theme-Confluence"
|
PKG_NAME="xbmc-theme-Confluence"
|
||||||
PKG_VERSION="1fef727"
|
PKG_VERSION="30312f1"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xbmc"
|
PKG_NAME="xbmc"
|
||||||
PKG_VERSION="1fef727"
|
PKG_VERSION="30312f1"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -1,168 +0,0 @@
|
|||||||
From b8ca2fd400720390d655a9d7d4c63b224c91d6e6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
|
||||||
Date: Thu, 26 Jan 2012 21:58:44 +0100
|
|
||||||
Subject: [PATCH] peripherals: call OnSettingChanged() methods after
|
|
||||||
persisting the new settings and always persist settings
|
|
||||||
directly after they've been changed in the gui. fixes the
|
|
||||||
issue that settings are reset when XBMC is restarted after
|
|
||||||
it crashed. closes trac 12570
|
|
||||||
|
|
||||||
---
|
|
||||||
xbmc/peripherals/devices/Peripheral.cpp | 33 +++++++++++--------
|
|
||||||
xbmc/peripherals/devices/Peripheral.h | 8 +---
|
|
||||||
.../dialogs/GUIDialogPeripheralSettings.cpp | 2 +
|
|
||||||
3 files changed, 23 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/peripherals/devices/Peripheral.cpp b/xbmc/peripherals/devices/Peripheral.cpp
|
|
||||||
index cc046dc..d07acaf 100644
|
|
||||||
--- a/xbmc/peripherals/devices/Peripheral.cpp
|
|
||||||
+++ b/xbmc/peripherals/devices/Peripheral.cpp
|
|
||||||
@@ -64,7 +64,7 @@
|
|
||||||
|
|
||||||
CPeripheral::~CPeripheral(void)
|
|
||||||
{
|
|
||||||
- PersistSettings();
|
|
||||||
+ PersistSettings(true);
|
|
||||||
|
|
||||||
for (unsigned int iSubdevicePtr = 0; iSubdevicePtr < m_subDevices.size(); iSubdevicePtr++)
|
|
||||||
delete m_subDevices.at(iSubdevicePtr);
|
|
||||||
@@ -323,7 +323,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, bool bValue)
|
|
||||||
bool bChanged(boolSetting->GetData() != bValue);
|
|
||||||
boolSetting->SetData(bValue);
|
|
||||||
if (bChanged && m_bInitialised)
|
|
||||||
- OnSettingChanged(strKey);
|
|
||||||
+ m_changedSettings.push_back(strKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -339,7 +339,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, int iValue)
|
|
||||||
bool bChanged(intSetting->GetData() != iValue);
|
|
||||||
intSetting->SetData(iValue);
|
|
||||||
if (bChanged && m_bInitialised)
|
|
||||||
- OnSettingChanged(strKey);
|
|
||||||
+ m_changedSettings.push_back(strKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -355,7 +355,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, float fValue)
|
|
||||||
bool bChanged(floatSetting->GetData() != fValue);
|
|
||||||
floatSetting->SetData(fValue);
|
|
||||||
if (bChanged && m_bInitialised)
|
|
||||||
- OnSettingChanged(strKey);
|
|
||||||
+ m_changedSettings.push_back(strKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -373,7 +373,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, const CStdString &strValu
|
|
||||||
bool bChanged(!stringSetting->GetData().Equals(strValue));
|
|
||||||
stringSetting->SetData(strValue);
|
|
||||||
if (bChanged && m_bInitialised)
|
|
||||||
- OnSettingChanged(strKey);
|
|
||||||
+ m_changedSettings.push_back(strKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ((*it).second->GetType() == SETTINGS_TYPE_INT)
|
|
||||||
@@ -385,7 +385,7 @@ void CPeripheral::SetSetting(const CStdString &strKey, const CStdString &strValu
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-void CPeripheral::PersistSettings(void) const
|
|
||||||
+void CPeripheral::PersistSettings(bool bExiting /* = false */)
|
|
||||||
{
|
|
||||||
TiXmlDocument doc;
|
|
||||||
TiXmlElement node("settings");
|
|
||||||
@@ -433,6 +433,13 @@ void CPeripheral::PersistSettings(void) const
|
|
||||||
}
|
|
||||||
|
|
||||||
doc.SaveFile(m_strSettingsFile);
|
|
||||||
+
|
|
||||||
+ if (!bExiting)
|
|
||||||
+ {
|
|
||||||
+ for (vector<CStdString>::iterator it = m_changedSettings.begin(); it != m_changedSettings.end(); it++)
|
|
||||||
+ OnSettingChanged(*it);
|
|
||||||
+ }
|
|
||||||
+ m_changedSettings.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CPeripheral::LoadPersistedSettings(void)
|
|
||||||
@@ -456,26 +463,24 @@ void CPeripheral::ResetDefaultSettings(void)
|
|
||||||
{
|
|
||||||
ClearSettings();
|
|
||||||
g_peripherals.GetSettingsFromMapping(*this);
|
|
||||||
- OnSettingsChanged();
|
|
||||||
-}
|
|
||||||
|
|
||||||
-void CPeripheral::ClearSettings(void)
|
|
||||||
-{
|
|
||||||
map<CStdString, CSetting *>::iterator it = m_settings.begin();
|
|
||||||
while (it != m_settings.end())
|
|
||||||
{
|
|
||||||
- delete (*it).second;
|
|
||||||
+ m_changedSettings.push_back((*it).first);
|
|
||||||
++it;
|
|
||||||
}
|
|
||||||
- m_settings.clear();
|
|
||||||
+
|
|
||||||
+ PersistSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
-void CPeripheral::OnSettingsChanged(void)
|
|
||||||
+void CPeripheral::ClearSettings(void)
|
|
||||||
{
|
|
||||||
map<CStdString, CSetting *>::iterator it = m_settings.begin();
|
|
||||||
while (it != m_settings.end())
|
|
||||||
{
|
|
||||||
- OnSettingChanged((*it).first);
|
|
||||||
+ delete (*it).second;
|
|
||||||
++it;
|
|
||||||
}
|
|
||||||
+ m_settings.clear();
|
|
||||||
}
|
|
||||||
diff --git a/xbmc/peripherals/devices/Peripheral.h b/xbmc/peripherals/devices/Peripheral.h
|
|
||||||
index e7860e4..7851554 100644
|
|
||||||
--- a/xbmc/peripherals/devices/Peripheral.h
|
|
||||||
+++ b/xbmc/peripherals/devices/Peripheral.h
|
|
||||||
@@ -87,11 +87,6 @@
|
|
||||||
virtual void OnSettingChanged(const CStdString &strChangedSetting) {};
|
|
||||||
|
|
||||||
/*!
|
|
||||||
- * @brief Called when one or more settings changed. Calls OnSettingChanged for every setting.
|
|
||||||
- */
|
|
||||||
- virtual void OnSettingsChanged(void);
|
|
||||||
-
|
|
||||||
- /*!
|
|
||||||
* @brief Get all subdevices if this device is multifunctional.
|
|
||||||
* @param subDevices The subdevices.
|
|
||||||
*/
|
|
||||||
@@ -143,7 +138,7 @@
|
|
||||||
virtual float GetSettingFloat(const CStdString &strKey) const;
|
|
||||||
virtual void SetSetting(const CStdString &strKey, float fValue);
|
|
||||||
|
|
||||||
- virtual void PersistSettings(void) const;
|
|
||||||
+ virtual void PersistSettings(bool bExiting = false);
|
|
||||||
virtual void LoadPersistedSettings(void);
|
|
||||||
virtual void ResetDefaultSettings(void);
|
|
||||||
|
|
||||||
@@ -168,5 +163,6 @@
|
|
||||||
std::vector<PeripheralFeature> m_features;
|
|
||||||
std::vector<CPeripheral *> m_subDevices;
|
|
||||||
std::map<CStdString, CSetting *> m_settings;
|
|
||||||
+ std::vector<CStdString> m_changedSettings;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
diff --git a/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp b/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
|
|
||||||
index f272d00..c79f961 100644
|
|
||||||
--- a/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
|
|
||||||
+++ b/xbmc/peripherals/dialogs/GUIDialogPeripheralSettings.cpp
|
|
||||||
@@ -176,6 +176,8 @@ void CGUIDialogPeripheralSettings::UpdatePeripheralSettings(void)
|
|
||||||
peripheral->SetSetting((*stringItr).first, (*stringItr).second);
|
|
||||||
++stringItr;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ peripheral->PersistSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CGUIDialogPeripheralSettings::OnMessage(CGUIMessage &message)
|
|
||||||
--
|
|
||||||
1.7.5.4
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
From e6bf089bbf486c9879d3abc5ce31a99b67558ea7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Memphiz <memphis@machzwo.de>
|
|
||||||
Date: Sat, 11 Feb 2012 17:28:52 +0100
|
|
||||||
Subject: [PATCH] [fix] - let the scripts react on the abortRequest before
|
|
||||||
killing them
|
|
||||||
|
|
||||||
---
|
|
||||||
xbmc/interfaces/python/XBPyThread.cpp | 18 ++++++++++++++++++
|
|
||||||
xbmc/interfaces/python/XBPyThread.h | 2 ++
|
|
||||||
2 files changed, 20 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/interfaces/python/XBPyThread.cpp b/xbmc/interfaces/python/XBPyThread.cpp
|
|
||||||
index c9f0a12..d3c616f 100644
|
|
||||||
--- a/xbmc/interfaces/python/XBPyThread.cpp
|
|
||||||
+++ b/xbmc/interfaces/python/XBPyThread.cpp
|
|
||||||
@@ -375,6 +375,13 @@ void XBPyThread::Process()
|
|
||||||
PyThreadState_Swap(NULL);
|
|
||||||
PyEval_ReleaseLock();
|
|
||||||
|
|
||||||
+ //set stopped event - this allows ::stop to run and kill remaining threads
|
|
||||||
+ //this event has to be fired without holding m_pExecuter->m_critSection
|
|
||||||
+ //before
|
|
||||||
+ //Also the GIL (PyEval_AcquireLock) must not be held
|
|
||||||
+ //if not obeyed there is still no deadlock because ::stop waits with timeout (smart one!)
|
|
||||||
+ stoppedEvent.Set();
|
|
||||||
+
|
|
||||||
{ CSingleLock lock(m_pExecuter->m_critSection);
|
|
||||||
m_threadState = NULL;
|
|
||||||
}
|
|
||||||
@@ -428,6 +435,17 @@ void XBPyThread::stop()
|
|
||||||
if(!m || PyObject_SetAttrString(m, (char*)"abortRequested", PyBool_FromLong(1)))
|
|
||||||
CLog::Log(LOGERROR, "XBPyThread::stop - failed to set abortRequested");
|
|
||||||
|
|
||||||
+ PyThreadState_Swap(old);
|
|
||||||
+ PyEval_ReleaseLock();
|
|
||||||
+
|
|
||||||
+ if(!stoppedEvent.WaitMSec(5000))//let the script 5 secs for shut stuff down
|
|
||||||
+ {
|
|
||||||
+ CLog::Log(LOGERROR, "XBPyThread::stop - script didn't stop in proper time - lets kill it");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ //everything which didn't exit by now gets killed
|
|
||||||
+ PyEval_AcquireLock();
|
|
||||||
+ old = PyThreadState_Swap((PyThreadState*)m_threadState);
|
|
||||||
for(PyThreadState* state = ((PyThreadState*)m_threadState)->interp->tstate_head; state; state = state->next)
|
|
||||||
{
|
|
||||||
Py_XDECREF(state->async_exc);
|
|
||||||
diff --git a/xbmc/interfaces/python/XBPyThread.h b/xbmc/interfaces/python/XBPyThread.h
|
|
||||||
index 2b83b52..55a6fbd 100644
|
|
||||||
--- a/xbmc/interfaces/python/XBPyThread.h
|
|
||||||
+++ b/xbmc/interfaces/python/XBPyThread.h
|
|
||||||
@@ -23,6 +23,7 @@
|
|
||||||
#define XBPYTHREAD_H_
|
|
||||||
|
|
||||||
#include "threads/Thread.h"
|
|
||||||
+#include "threads/Event.h"
|
|
||||||
#include "addons/IAddon.h"
|
|
||||||
|
|
||||||
class XBPython;
|
|
||||||
@@ -42,6 +43,7 @@ class XBPyThread : public CThread
|
|
||||||
|
|
||||||
protected:
|
|
||||||
XBPython *m_pExecuter;
|
|
||||||
+ CEvent stoppedEvent;
|
|
||||||
void *m_threadState;
|
|
||||||
|
|
||||||
char m_type;
|
|
||||||
--
|
|
||||||
1.7.5.4
|
|
||||||
|
|
||||||
|
|
@ -390,14 +390,6 @@ Subject: [PATCH 02/17] cec: set the HDMI port and the device to which the CEC
|
|||||||
|
|
||||||
diff --git a/language/Dutch/strings.xml b/language/Dutch/strings.xml
|
diff --git a/language/Dutch/strings.xml b/language/Dutch/strings.xml
|
||||||
index 58d0003..721bd73 100644
|
index 58d0003..721bd73 100644
|
||||||
--- a/language/Dutch/strings.xml
|
|
||||||
+++ b/language/Dutch/strings.xml
|
|
||||||
@@ -2403,4 +2403,5 @@
|
|
||||||
<string id="36016">Verbonden</string> <!-- max. 13 characters -->
|
|
||||||
<string id="36017">Adapter gevonden, maar libcec is niet beschikbaar</string>
|
|
||||||
<string id="36018">Gebruik de taalinstelling van de TV</string>
|
|
||||||
+ <string id="36019">Verbonden met HDMI apparaat</string>
|
|
||||||
</strings>
|
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/language/English/strings.xml b/language/English/strings.xml
|
diff --git a/language/English/strings.xml b/language/English/strings.xml
|
||||||
index ca2ac4d..fb5b8fb 100644
|
index ca2ac4d..fb5b8fb 100644
|
||||||
@ -1789,34 +1781,6 @@ index a4ea21d..270dab3 100755
|
|||||||
INCLUDES="$INCLUDES $CEC_CFLAGS"
|
INCLUDES="$INCLUDES $CEC_CFLAGS"
|
||||||
diff --git a/language/Dutch/strings.xml b/language/Dutch/strings.xml
|
diff --git a/language/Dutch/strings.xml b/language/Dutch/strings.xml
|
||||||
index 721bd73..b398189 100644
|
index 721bd73..b398189 100644
|
||||||
--- a/language/Dutch/strings.xml
|
|
||||||
+++ b/language/Dutch/strings.xml
|
|
||||||
@@ -2391,17 +2391,20 @@
|
|
||||||
<string id="36004">Druk op "user" knop commando</string>
|
|
||||||
<string id="36005">Schakel commando's in bij het wisselen van kant</string>
|
|
||||||
<string id="36006">Kon de adapter niet openen</string>
|
|
||||||
- <string id="36007">Schakel de TV in bij het opstarten van XBMC</string>
|
|
||||||
+ <string id="36007">Schakel apparatuur in bij het opstarten van XBMC</string>
|
|
||||||
<string id="36008">Schakel apparatuur uit bij het stoppen van XBMC</string>
|
|
||||||
<string id="36009">Schakel app. uit zolang de schermbeveiliging actief is</string>
|
|
||||||
<string id="36010"></string>
|
|
||||||
- <string id="36011">Kon de CEC poort niet detecteren. Stel het manueel in.</string>
|
|
||||||
- <string id="36012">Kon de CEC adapter niet detecteren.</string>
|
|
||||||
- <string id="36013">Versie %d van de libcec interface version wordt niet ondersteund door XBMC (> %d)</string>
|
|
||||||
+ <string id="36011">Kon de COM poort niet detecteren. Stel het manueel in.</string>
|
|
||||||
+ <string id="36012">Kon de CEC adapter niet initialiseren.</string>
|
|
||||||
+ <string id="36013">Versie %d van de libCEC interface version wordt niet ondersteund door XBMC (> %d)</string>
|
|
||||||
<string id="36014">Zet XBMC in standby wanneer de TV uitgeschakeld wordt</string>
|
|
||||||
<string id="36015">HDMI poort nummer</string>
|
|
||||||
<string id="36016">Verbonden</string> <!-- max. 13 characters -->
|
|
||||||
- <string id="36017">Adapter gevonden, maar libcec is niet beschikbaar</string>
|
|
||||||
+ <string id="36017">Adapter gevonden, maar libCEC is niet beschikbaar</string>
|
|
||||||
<string id="36018">Gebruik de taalinstelling van de TV</string>
|
|
||||||
<string id="36019">Verbonden met HDMI apparaat</string>
|
|
||||||
+ <string id="36020">Maak XBMC de actieve bron bij het opstarten</string>
|
|
||||||
+ <string id="36021">Physiek adres (overschrijft HDMI poort)</string>
|
|
||||||
+ <string id="36022">COM poort (laat leeg, tenzij noodzakelijk)</string>
|
|
||||||
</strings>
|
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/language/English/strings.xml b/language/English/strings.xml
|
diff --git a/language/English/strings.xml b/language/English/strings.xml
|
||||||
index 9c7caaf..27487f4 100644
|
index 9c7caaf..27487f4 100644
|
Loading…
x
Reference in New Issue
Block a user