https://issues.apache.org/ooo/show_bug.cgi?id=123914

Armin Le Grand <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #8 from Armin Le Grand <[email protected]> ---
The pRet->SetTmpDocShell( (SfxObjectShell*)NULL ); call in SwDoc::CreateCopy
deletes pRet again, this is surely not intended. This happens due to the
following stack:

>       sw.dll!SwDoc::~SwDoc()  Line 473        C++
     sw.dll!SwDoc::`vector deleting destructor'()  + 0x50 bytes    C++
     sw.dll!SwDocShell::RemoveLink()  Line 526 + 0x24 bytes    C++
     sw.dll!SwDocShell::~SwDocShell()  Line 433    C++
     sw.dll!SwDocShell::`vbase destructor'()  + 0xf bytes    C++
     sw.dll!SwDocShell::`vector deleting destructor'()  + 0x50 bytes    C++
     tl.dll!5b1cdba0()     
     [Frames below may be incorrect and/or missing, no symbols loaded for
tl.dll]    
     tl.dll!5b1826b5()     
     sot.dll!6ccb6d97()     
     sw.dll!SfxObjectShellLock::operator=(const SfxObjectShellLock & rObj) 
Line 803 + 0x5d bytes    C++
     sw.dll!SwDoc::SetTmpDocShell(SfxObjectShellLock rLock)  Line 1849 + 0x3f
bytes    C++
     sw.dll!SwDoc::CreateCopy(bool bCallInitNew)  Line 1207    C++
     sw.dll!SwXTextDocument::createClone()  Line 3254 + 0x17 bytes    C++

It is surely not intended that the just created clone is deleted again before
it even gets returned. Jumping over the SetTmpDocShell line does solve the
direct crash, but the destructor for the clone is called nut much later and
crashes.
I do not know enough about Writer and DocShells/Docs to know what is intended
to happen here, but it seems as if we have a lifetime problem. Setting Olli to
CC...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are watching all bug changes.

Reply via email to