You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2015/11/05 12:06:25 UTC

[Issue 126629] New: aoo suddenly crashes on win7 - incorrect call of "dwmapi.dll" in "salframe.cxx"

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.brinzing@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.

[Issue 126629] aoo suddenly crashes on win7 - incorrect call of "dwmapi.dll" in "salframe.cxx"

Posted by bu...@apache.org.
https://bz.apache.org/ooo/show_bug.cgi?id=126629

Oliver Brinzing <ol...@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |oliver.brinzing@gmx.de

--- Comment #1 from Oliver Brinzing <ol...@gmx.de> ---
Created attachment 85108
  --> https://bz.apache.org/ooo/attachment.cgi?id=85108&action=edit
incorrect call

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

[Issue 126629] aoo suddenly crashes on win7 - incorrect call of "dwmapi.dll" in "salframe.cxx"

Posted by bu...@apache.org.
https://bz.apache.org/ooo/show_bug.cgi?id=126629

Oliver Brinzing <ol...@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Latest|---                         |4.1.2
    Confirmation on|                            |
          Developer|---                         |Simple
         Difficulty|                            |
           Keywords|                            |crash, data_loss

--- Comment #2 from Oliver Brinzing <ol...@gmx.de> ---
adding keywords

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