diff options
-rw-r--r-- | addons/skin.confluence/720p/DialogButtonMenu.xml | 4 | ||||
-rw-r--r-- | addons/skin.confluence/720p/ViewsFileMode.xml | 2 | ||||
-rw-r--r-- | addons/skin.confluence/media/flagging/video/hdmv.png | bin | 0 -> 6017 bytes | |||
-rw-r--r-- | xbmc/cores/omxplayer/OMXVideo.cpp | 4 | ||||
-rw-r--r-- | xbmc/guilib/GUIInfoTypes.cpp | 3 | ||||
-rw-r--r-- | xbmc/interfaces/legacy/Window.cpp | 2 | ||||
-rw-r--r-- | xbmc/interfaces/legacy/WindowInterceptor.h | 3 | ||||
-rw-r--r-- | xbmc/interfaces/python/LanguageHook.h | 1 | ||||
-rw-r--r-- | xbmc/interfaces/python/swig.h | 1 | ||||
-rw-r--r-- | xbmc/linux/OMXClock.cpp | 6 | ||||
-rw-r--r-- | xbmc/threads/platform/win/ThreadLocal.h | 19 |
11 files changed, 29 insertions, 16 deletions
diff --git a/addons/skin.confluence/720p/DialogButtonMenu.xml b/addons/skin.confluence/720p/DialogButtonMenu.xml index 2b08f6942e..ac30c2add9 100644 --- a/addons/skin.confluence/720p/DialogButtonMenu.xml +++ b/addons/skin.confluence/720p/DialogButtonMenu.xml @@ -112,12 +112,12 @@ <textwidth>290</textwidth> <texturefocus border="25,5,25,5">ShutdownButtonFocus.png</texturefocus> <texturenofocus border="25,5,25,5">ShutdownButtonNoFocus.png</texturenofocus> - <onclick>XBMC.AlarmClock(shutdowntimer,XBMC.Powerdown())</onclick> + <onclick>XBMC.AlarmClock(shutdowntimer,XBMC.Shutdown())</onclick> <pulseonselect>no</pulseonselect> <font>font13</font> <label>20150</label> <visible>!System.HasAlarm(shutdowntimer)</visible> - <visible>System.CanPowerDown</visible> + <visible>System.CanPowerDown | System.CanSuspend | System.CanHibernate</visible> </control> <control type="button" id="5"> <description>Cancel Shutdown Timer</description> diff --git a/addons/skin.confluence/720p/ViewsFileMode.xml b/addons/skin.confluence/720p/ViewsFileMode.xml index 49bd9c121c..656fe95889 100644 --- a/addons/skin.confluence/720p/ViewsFileMode.xml +++ b/addons/skin.confluence/720p/ViewsFileMode.xml @@ -420,7 +420,7 @@ <onright>60</onright> <onup>505</onup> <ondown>505</ondown> - <viewtype label="$LOCALIZE[539] $LOCALIZE[536]">list</viewtype> + <viewtype label="$LOCALIZE[539]">list</viewtype> <pagecontrol>60</pagecontrol> <scrolltime>200</scrolltime> <preloaditems>2</preloaditems> diff --git a/addons/skin.confluence/media/flagging/video/hdmv.png b/addons/skin.confluence/media/flagging/video/hdmv.png Binary files differnew file mode 100644 index 0000000000..f19d4f2fcb --- /dev/null +++ b/addons/skin.confluence/media/flagging/video/hdmv.png diff --git a/xbmc/cores/omxplayer/OMXVideo.cpp b/xbmc/cores/omxplayer/OMXVideo.cpp index 989d3a88a7..77d7af1d13 100644 --- a/xbmc/cores/omxplayer/OMXVideo.cpp +++ b/xbmc/cores/omxplayer/OMXVideo.cpp @@ -709,10 +709,6 @@ int COMXVideo::Decode(uint8_t *pData, int iSize, double dts, double pts) if( m_drop_state ) return true; - // avi files with packed B frames have "not-coded" dummy frames that decoder doesn't like - if (m_codingType == OMX_VIDEO_CodingMPEG4 && iSize <= 7) - return true; - unsigned int demuxer_bytes = (unsigned int)iSize; uint8_t *demuxer_content = pData; diff --git a/xbmc/guilib/GUIInfoTypes.cpp b/xbmc/guilib/GUIInfoTypes.cpp index 53574234a8..31438cddfa 100644 --- a/xbmc/guilib/GUIInfoTypes.cpp +++ b/xbmc/guilib/GUIInfoTypes.cpp @@ -356,8 +356,9 @@ CGUIInfoLabel::CInfoPortion::CInfoPortion(int info, const CStdString &prefix, co CStdString CGUIInfoLabel::CInfoPortion::GetLabel(const CStdString &info) const { CStdString label = m_prefix + info + m_postfix; - if (m_escaped) // escape all quotes, then quote + if (m_escaped) // escape all quotes and backslashes, then quote { + label.Replace("\\", "\\\\"); label.Replace("\"", "\\\""); return "\"" + label + "\""; } diff --git a/xbmc/interfaces/legacy/Window.cpp b/xbmc/interfaces/legacy/Window.cpp index aae3631243..9367782ce0 100644 --- a/xbmc/interfaces/legacy/Window.cpp +++ b/xbmc/interfaces/legacy/Window.cpp @@ -37,6 +37,8 @@ namespace XBMCAddon { namespace xbmcgui { + XbmcThreads::ThreadLocal<ref> InterceptorBase::upcallTls; + /** * Used in add/remove control. It only locks if it's given a * non-NULL CCriticalSection. It's given a NULL CCriticalSection diff --git a/xbmc/interfaces/legacy/WindowInterceptor.h b/xbmc/interfaces/legacy/WindowInterceptor.h index 636136ae1d..263de363aa 100644 --- a/xbmc/interfaces/legacy/WindowInterceptor.h +++ b/xbmc/interfaces/legacy/WindowInterceptor.h @@ -43,7 +43,8 @@ namespace XBMCAddon { protected: AddonClass::Ref<Window> window; - XbmcThreads::ThreadLocal<ref> upcallTls; + // This instance is in Window.cpp + static XbmcThreads::ThreadLocal<ref> upcallTls; InterceptorBase() : window(NULL) { upcallTls.set(NULL); } diff --git a/xbmc/interfaces/python/LanguageHook.h b/xbmc/interfaces/python/LanguageHook.h index eccedd951b..a74c7579d6 100644 --- a/xbmc/interfaces/python/LanguageHook.h +++ b/xbmc/interfaces/python/LanguageHook.h @@ -28,7 +28,6 @@ #include <Python.h> #include "interfaces/legacy/LanguageHook.h" -#include "threads/ThreadLocal.h" #include "threads/Event.h" #include <set> diff --git a/xbmc/interfaces/python/swig.h b/xbmc/interfaces/python/swig.h index c47f2af51f..20f37e3be5 100644 --- a/xbmc/interfaces/python/swig.h +++ b/xbmc/interfaces/python/swig.h @@ -27,7 +27,6 @@ #include "interfaces/legacy/Exception.h" #include "interfaces/legacy/AddonClass.h" #include "interfaces/legacy/Window.h" -#include "threads/ThreadLocal.h" namespace PythonBindings { diff --git a/xbmc/linux/OMXClock.cpp b/xbmc/linux/OMXClock.cpp index 7f0461e1cd..e28c0b9d12 100644 --- a/xbmc/linux/OMXClock.cpp +++ b/xbmc/linux/OMXClock.cpp @@ -334,7 +334,8 @@ bool OMXClock::OMXSetReferenceClock(bool lock /* = true */) ret = false; } - UnLock(); + if(lock) + UnLock(); return ret; } @@ -634,7 +635,8 @@ bool OMXClock::OMXReset(bool lock /* = true */) if(!OMXSetReferenceClock(false)) { - UnLock(); + if(lock) + UnLock(); return false; } diff --git a/xbmc/threads/platform/win/ThreadLocal.h b/xbmc/threads/platform/win/ThreadLocal.h index 0960ac5aa3..d560599653 100644 --- a/xbmc/threads/platform/win/ThreadLocal.h +++ b/xbmc/threads/platform/win/ThreadLocal.h @@ -21,6 +21,7 @@ #pragma once #include <windows.h> +#include "commons/Exception.h" namespace XbmcThreads { @@ -32,11 +33,23 @@ namespace XbmcThreads { DWORD key; public: - inline ThreadLocal() { key = TlsAlloc(); } + inline ThreadLocal() + { + if ((key = TlsAlloc()) == TLS_OUT_OF_INDEXES) + throw XbmcCommons::UncheckedException("Ran out of Windows TLS Indexes. Windows Error Code %d",(int)GetLastError()); + } - inline ~ThreadLocal() { TlsFree(key); } + inline ~ThreadLocal() + { + if (!TlsFree(key)) + throw XbmcCommons::UncheckedException("Failed to free Tls %d, Windows Error Code %d",(int)key, (int)GetLastError()); + } - inline void set(T* val) { TlsSetValue(key,(LPVOID)val); } + inline void set(T* val) + { + if (!TlsSetValue(key,(LPVOID)val)) + throw XbmcCommons::UncheckedException("Failed to set Tls %d, Windows Error Code %d",(int)key, (int)GetLastError()); + } inline T* get() { return (T*)TlsGetValue(key); } }; |