scp2/inc/macros.inc | 11 ----------- vcl/inc/win/saltimer.h | 5 ++--- vcl/source/app/timer.cxx | 11 +++++++++-- vcl/win/source/app/saltimer.cxx | 2 +- xmloff/source/transform/TransformerBase.cxx | 2 ++ 5 files changed, 14 insertions(+), 17 deletions(-)
New commits: commit 24a0129274ebfd41b4a2e81ec7cb5be238b9cf78 Author: Michael Stahl <mst...@redhat.com> Date: Thu Sep 25 20:43:53 2014 +0200 assert that XMLTransformerBase::m_xHandler is initialized Just seen a test with a null m_xHandler, no idea how that happened. Change-Id: I2e5ff9d3c799284beea5fdca37fa8a825f8a4756 diff --git a/xmloff/source/transform/TransformerBase.cxx b/xmloff/source/transform/TransformerBase.cxx index 513692f..f74c687 100644 --- a/xmloff/source/transform/TransformerBase.cxx +++ b/xmloff/source/transform/TransformerBase.cxx @@ -489,6 +489,8 @@ void SAL_CALL XMLTransformerBase::initialize( const Sequence< Any >& aArguments } } + + assert(m_xHandler.is()); // can't do anything without that } static sal_Int16 lcl_getUnit( const OUString& rValue ) commit 021307d659984e937b18b9eb760d8d8d8b91da54 Author: Michael Stahl <mst...@redhat.com> Date: Thu Sep 25 18:12:46 2014 +0200 vcl: avoid crashes from Timer Queues on shutdown The timer callback SalTimerProc can be called after DeInitVCL has deleted the SalInstance, and crash. Avoid that by calling WinSalTimer::Stop() and also using the INVALID_HANDLE_VALUE parameter which waits until the timer callback is done executing. Change-Id: Ia4cf2cf9dc48904d077e0a691e14107256c50ded diff --git a/vcl/source/app/timer.cxx b/vcl/source/app/timer.cxx index 1f9870b..703f7e8 100644 --- a/vcl/source/app/timer.cxx +++ b/vcl/source/app/timer.cxx @@ -43,6 +43,12 @@ void Timer::ImplDeInitTimer() ImplSVData* pSVData = ImplGetSVData(); ImplTimerData* pTimerData = pSVData->mpFirstTimerData; + // on WNT the timer queue thread needs killing + if (pSVData->mpSalTimer) + { + pSVData->mpSalTimer->Stop(); + } + if ( pTimerData ) { do @@ -60,9 +66,10 @@ void Timer::ImplDeInitTimer() pSVData->mpFirstTimerData = NULL; pSVData->mnTimerPeriod = 0; - delete pSVData->mpSalTimer; - pSVData->mpSalTimer = NULL; } + + delete pSVData->mpSalTimer; + pSVData->mpSalTimer = 0; } static void ImplStartTimer( ImplSVData* pSVData, sal_uLong nMS ) diff --git a/vcl/win/source/app/saltimer.cxx b/vcl/win/source/app/saltimer.cxx index f54e2a3..9191d5e 100644 --- a/vcl/win/source/app/saltimer.cxx +++ b/vcl/win/source/app/saltimer.cxx @@ -38,7 +38,7 @@ void ImplSalStopTimer(SalData* pSalData) { HANDLE hTimer = pSalData->mnTimerId; pSalData->mnTimerId = 0; - DeleteTimerQueueTimer(NULL, hTimer, 0); + DeleteTimerQueueTimer(NULL, hTimer, INVALID_HANDLE_VALUE); } void ImplSalStartTimer( sal_uLong nMS, bool bMutex ) commit 3cf9e1156d96b911632e0246271a49b9b9d819c6 Author: Michael Stahl <mst...@redhat.com> Date: Thu Sep 25 17:45:16 2014 +0200 use SAL_OVERRIDE for WinSalTimer ... and no, we do not "overload" virtual methods. Change-Id: Iff7c46326974995994e966873ff804092bc53540 diff --git a/vcl/inc/win/saltimer.h b/vcl/inc/win/saltimer.h index 93d98d6..adc0fea 100644 --- a/vcl/inc/win/saltimer.h +++ b/vcl/inc/win/saltimer.h @@ -28,9 +28,8 @@ public: WinSalTimer() {} virtual ~WinSalTimer(); - // overload all pure virtual methods - void Start( sal_uIntPtr nMS ); - void Stop(); + virtual void Start(sal_uIntPtr nMS) SAL_OVERRIDE; + virtual void Stop() SAL_OVERRIDE; }; #endif commit cce464488d7ba1ce10dad40d8fc0c5ae74ad73d5 Author: Michael Stahl <mst...@redhat.com> Date: Thu Sep 25 17:28:17 2014 +0200 scp2: remove some very SPECIAL unused macros Change-Id: I28f2f4bc3c43aac1faf8be35cf7ce89480487102 diff --git a/scp2/inc/macros.inc b/scp2/inc/macros.inc index a2a2f3e..d9bcf20 100644 --- a/scp2/inc/macros.inc +++ b/scp2/inc/macros.inc @@ -57,22 +57,11 @@ #endif #ifdef UNX - #define LIBNAME(name) STRING(CONCAT4(lib,name,DLLPOSTFIX,UNXSUFFIX)) #define EXENAME(name) STRING(name) #define PROFILENAME(name) STRING(CONCAT2(name,rc)) - #define SPECIAL_NAME(name) STRING(CONCAT3(lib,name,UNXSUFFIX)) - #ifdef MACOSX - #define SPECIAL_NAME_VER(name,version) STRING(CONCAT5(lib,name,.,version,UNXSUFFIX)) - #else - #define SPECIAL_NAME_VER(name,version) STRING(CONCAT5(lib,name,UNXSUFFIX,.,version)) - #endif - #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,UNXSUFFIX)) #else - #define LIBNAME(name) STRING(CONCAT3(name,DLLPOSTFIX,.dll)) #define EXENAME(name) STRING(CONCAT2(name,.exe)) #define PROFILENAME(name) STRING(CONCAT2(name,.ini)) - #define SPECIAL_NAME(name) STRING(CONCAT2(name,.dll)) - #define SPECIAL_COMPONENT_LIB_NAME(name) STRING(CONCAT2(name,.dll)) #endif #ifdef MACOSX _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits