Index: xbmc/linux/LinuxTimezone.h =================================================================== --- xbmc/linux/LinuxTimezone.h (revision 12935) +++ xbmc/linux/LinuxTimezone.h (working copy) @@ -16,7 +16,7 @@ CStdString GetCountryByTimezone(const CStdString timezone); void SetTimezone(CStdString timezone); - + int isDST; private: std::vector m_counties; std::map m_countryByCode; Index: xbmc/linux/XTimeUtils.cpp =================================================================== --- xbmc/linux/XTimeUtils.cpp (revision 12935) +++ xbmc/linux/XTimeUtils.cpp (working copy) @@ -1,4 +1,5 @@ #include "system.h" +#include "LinuxTimezone.h" #include "XTimeUtils.h" #include "../utils/log.h" #include @@ -51,6 +52,7 @@ sysTime->wMinute = now->tm_min; sysTime->wSecond = now->tm_sec; sysTime->wMilliseconds = 0; + g_timezone.isDST = now->tm_isdst; } DWORD GetTickCount(void) @@ -133,7 +135,7 @@ sysTime.tm_min = lpSystemTime->wMinute; sysTime.tm_sec = lpSystemTime->wSecond; sysTime.tm_yday = dayoffset[sysTime.tm_mon] + (sysTime.tm_mday - 1); - sysTime.tm_isdst = 0; + sysTime.tm_isdst = g_timezone.isDST; // If this is a leap year, and we're past the 28th of Feb, increment tm_yday. if (IsLeapYear(lpSystemTime->wYear) && (sysTime.tm_yday > 58)) Index: xbmc/linux/LinuxTimezone.cpp =================================================================== --- xbmc/linux/LinuxTimezone.cpp (revision 12935) +++ xbmc/linux/LinuxTimezone.cpp (working copy) @@ -13,7 +13,7 @@ size_t linelen; CStdString s; vector tokens; - + isDST = 0; // Load timezones FILE* fp = fopen("/usr/share/zoneinfo/zone.tab", "r"); if (fp)