Apache OpenOffice (AOO) Bugzilla – Issue 48168
Crash when crossfading CustomShapes
Last modified: 2005-10-24 09:51:57 UTC
Open a new draw and insert two different autoshapes. Select both and go to edit/cross-fade. Click ok-> Office crashes. Thios does not happen when the objects are converted to polygons or curves first. Since this is a very seldom used function I set the target to 2.0.1
It is not always crashing when fading CustomShapes. A necessary constraint to reproduce this crash is that one of the shapes that is being faded is a CustomShape composed by multiple polygon objects e.g. "Smiley" or "Flowchart: Predefined Process". sj->aw: You are having more knowledge with this kind of problem, so it would be nice if you can take over this issue. svx680mi.dll!XPolyPolygon::Count() + 0x2 C++ svx680mi.dll!PolyPolygon3D::PolyPolygon3D() + 0x42 C++ sd680mi.dll!sd::FuMorph::FuMorph() + 0x196 C++ sd680mi.dll!sd::DrawViewShell::FuTemp01() + 0x9ca C++ sd680mi.dll!sd::DrawViewShell::FuTemporary() + 0x12a1 C++ sd680mi.dll!SfxStubGraphicViewShellFuTemporary(SfxShell * pShell=0x06f8b9a8, SfxRequest & rReq={...}) Line 1045 + 0xf C++ sfx680mi.dll!SfxDispatcher::Call_Impl(SfxShell & rShell={...}, const SfxSlot & rSlot={...}, SfxRequest & rReq={...}, unsigned char bRecord='') Line 362 + 0xb C++ sfx680mi.dll!SfxDispatcher::_Execute(SfxShell & rShell={...}, const SfxSlot & rSlot={...}, SfxRequest & rReq={...}, unsigned short eCallMode=0x0004) Line 1092 C++ sfx680mi.dll!SfxBindings::Execute_Impl(SfxRequest & aReq={...}, const SfxSlot * pSlot=0x0877c260, SfxShell * pShell=0x06f8b9a8) Line 1773 C++ sfx680mi.dll!SfxDispatchController_Impl::dispatch(const com::sun::star::util::URL & aURL={...}, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & aArgs={...}, const com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> & rListener={...}) Line 800 C++ sfx680mi.dll!SfxOfficeDispatch::dispatch(const com::sun::star::util::URL & aURL={...}, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & aArgs={...}) Line 460 + 0x2c C++ fwk680mi.dll!framework::MenuBarManager::Select() + 0x3a0 C++ fwk680mi.dll!framework::MenuBarManager::LinkStubSelect() + 0xe C++ vcl680mi.dll!Menu::Select() Line 1030 + 0x22 C++ vcl680mi.dll!Menu::ImplCallSelect(Menu * __formal=0x00000000) Line 2487 C++ vcl680mi.dll!Menu::LinkStubImplCallSelect(void * pThis=0x04618e40, void * pCaller=0x00000000) Line 2483 + 0xf C++ vcl680mi.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent=0x07033848) Line 2005 + 0x2b C++ vcl680mi.dll!ImplWindowFrameProc(void * pInst=0x02591008, SalFrame * pFrame=0x02591288, unsigned short nEvent=0x0016, const void * pEvent=0x07033848) Line 2467 + 0x9 C++ vcl680mi.dll!SalFrame::CallCallback() + 0x16 C++ vcl680mi.dll!ImplHandleSalObjSysCharMsg() + 0x738 C++
*** Issue 49955 has been marked as a duplicate of this issue. ***
Added my name for copy to keep up to date on this issue. Thanks.
AW: Found reason: In FuMorph::FuMorph, a ConvertToPolyObj call is used to create polygons from the two objects. That call works, but may create groups of polygon objects (that's allowed). But the return values is casted to a single SdrPathObj* and used, that's an error. AW: Todo: need to secure sd/source/ui/func/fumorph.cxx138ff.
AW: Added two iterators to collect the polygons, now very complex objects may be cross-faded again. Checked in, works. E.g. use a smiley and an arrow.
AW->WG: Please verify. Use e.g. the smiley and an arrow for crossfading, that exaple crashes in versions before. re-open issue and reassign to wg@openoffice.org
reassign to wg@openoffice.org
reset resolution to FIXED
Verified in CWS.
Tested in master m133. Closed.
*** Issue 56525 has been marked as a duplicate of this issue. ***