Apache OpenOffice (AOO) Bugzilla – Issue 54071
crash after I insert a chart into the second master page
Last modified: 2005-11-10 13:49:31 UTC
1. creat a impress file 2. go to the Slide Master View 3. add a new master page 4. insert a chart into the second master page(it is ok now) 5. try to return the Slide Master view, the office crash
Reproducible. Reassigned. Stack ID is rvk8b8.
msvcr71!_CxxThrowException+0x34 sfx680mi!SfxInPlaceClient_Impl::deactivatedUI( void )+0x189 [o:\src680\src.m124\sfx2\source\view\ipclient.cxx @ 481] embobj!OCommonEmbeddedObject::SwitchStateTo_Impl(long nNextState = 0x3910cb0)+0x821 [o:\src680\src.m124\embeddedobj\source\commonembedding\embedobj.cxx @ 440] embobj!OCommonEmbeddedObject::changeState(long nNewState = 1)+0x14e [o:\src680\src.m124\embeddedobj\source\commonembedding\embedobj.cxx @ 522] sd680mi!sd::DrawViewShell::SelectionHasChanged( void )+0x1e8 [o:\src680\src.m124\sd\source\ui\view\drviews1.cxx @ 315] svx680mi!SdrMarkView::UnmarkAllObj(SdrPageView* pPV = 00000000 )+0x61 [o:\src680\src.m124\svx\source\svdraw\svdmrkv.cxx @ 1987] svx680mi!SdrView::UnmarkAll( void )+0x82 [o:\src680\src.m124\svx\source\svdraw\svdview.cxx @ 1222] sd680mi!sd::FuSelection::MouseButtonDown(MouseEvent* rMEvt = 01eaf9b0 )+0x724 [o:\src680\src.m124\sd\source\ui\func\fusel.cxx @ 471] sd680mi!sd::ViewShell::MouseButtonDown(MouseEvent* rMEvt = 00eaf9b0 , sd::Window* pWin = 05f5a0e0 )+0x64 [o:\src680\src.m124\sd\source\ui\view\viewshel.cxx @ 687] sd680mi!sd::DrawViewShell::MouseButtonDown(MouseEvent* rMEvt = 00eaf9b0 , sd::Window* pWin = 05f5a0e0 )+0x24 [o:\src680\src.m124\sd\source\ui\view\drviews4.cxx @ 380] sd680mi!sd::Window::MouseButtonDown(MouseEvent* rMEvt = 00eaf9b0 )+0x1b [o:\src680\src.m124\sd\source\ui\view\sdwindow.cxx @ 371] vcl680mi!ImplHandleMouseEvent(Window* pWindow = 00000001 , unsigned short nSVEvent = 1, unsigned char bMouseLeave = 0 '', long nX = 0x1000004, long nY = 0, unsigned long nMsgTime = 0x99a1a, unsigned short nCode = 1, unsigned short nMode = 3)+0xb31 [o:\src680\src.m124\vcl\source\window\winproc.cxx @ 900]
Fixed in cws presfixes08, the problem was using a master page that had no slide using it. In DrawViewShell::SwitchPage() there is an optimization to do nothing if the selected page is already visible. This did not work for master pages without a corresponding slide. When the ole object was deactivated, it send our shell an activate call. This caused the frame view data to be read, which caused a SwitchPage() call, which called DisconnectAllClients(), those removing the SfxInPlaceClient from the EmbededObject that is still partly active. Usually this DisconnectAllClients() is not called when the page from the frame view data is already visible. I fixed the precondition test in SwitchPage() to only check if the selected master page is the same as the page currently set at the sdr PageView.
verified on cws, back to qa re-open issue and reassign to wg@openoffice.org
reassign to wg@openoffice.org
reset resolution to FIXED
Verified in cws presfixes08
reopen issue, must be verified again in impress70
Set back to fixed.
also verified in cws impress70
*** Issue 50792 has been marked as a duplicate of this issue. ***
Tested in m139. Closed.