Apache OpenOffice (AOO) Bugzilla – Issue 126629
aoo suddenly crashes on win7 - incorrect call of "dwmapi.dll" in "salframe.cxx"
Last modified: 2017-05-20 11:55:32 UTC
Created attachment 85107 [details] correct call first noticed with aoo 4.0.1 \main\vcl\win\source\window\salframe.cxx: static BOOL ImplDwmIsCompositionEnabled() { SalData* pSalData = GetSalData(); if( ! pSalData->mpDwmIsCompositionEnabled ) { pSalData->maDwmLib = osl_loadAsciiModule( "Dwmapi.dll", SAL_LOADMODULE_DEFAULT ); if( pSalData->maDwmLib ) pSalData->mpDwmIsCompositionEnabled = (DwmIsCompositionEnabled_ptr)osl_getAsciiFunctionSymbol( pSalData->maDwmLib, "DwmIsCompositionEnabled" ); if( ! pSalData->mpDwmIsCompositionEnabled ) // something failed pSalData->mpDwmIsCompositionEnabled = backwardCompatibleDwmIsCompositionEnabled; } BOOL aResult = FALSE; HRESULT nError = pSalData->mpDwmIsCompositionEnabled( &aResult ); return nError == S_OK && aResult; } "pSalData->mpDwmIsCompositionEnabled" is initialized only the first time ImplDwmIsCompositionEnabled() is called. but ImplDwmIsCompositionEnabled() is called periodically (e.g. window events from other programs). for whatever reason sometimes the "pSalData->mpDwmIsCompositionEnabled" pointer gets corrupted, and a call causes aoo to crash. attached "ImplDwmIsCompositionEnabled_1.png" shows a correct call while ImplDwmIsCompositionEnabled_2.png shows a corrupted one. updating "dwmapi.dll" with "KB3078667" https://support.microsoft.com/en-us/kb/3078667 will not solve the problem. btw: if aoo runs with xp compatibility settings, it will not crash.
Created attachment 85108 [details] incorrect call
adding keywords