https://bz.apache.org/ooo/show_bug.cgi?id=126629

          Issue ID: 126629
        Issue Type: DEFECT
           Summary: aoo suddenly crashes on win7 - incorrect call of
                    "dwmapi.dll" in "salframe.cxx"
           Product: General
           Version: 4.0.1
          Hardware: PC
                OS: Windows 7
            Status: CONFIRMED
          Severity: critical
          Priority: P5
         Component: code
          Assignee: issues@openoffice.apache.org
          Reporter: oliver.brinz...@gmx.de

Created attachment 85107
  --> https://bz.apache.org/ooo/attachment.cgi?id=85107&action=edit
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.

-- 
You are receiving this mail because:
You are the assignee for the issue.

Reply via email to