null deref of SfxViewShell
#0 desktop::CallbackFlushHandler::enqueueUpdatedType (this=this@entry=0x34f1a860, type=3, viewShell=viewShell@entry=0x0, viewId=9) at libreoffice/desktop/source/lib/init.cxx:2474 #1 0x00007f1d866182a4 in desktop::CallbackFlushHandler::enqueueUpdatedTypes (this=0x34f1a860) at libreoffice/desktop/source/lib/init.cxx:2437 #2 0x00007f1d866184a0 in desktop::CallbackFlushHandler::invoke (this=0x34f1a860) at libreoffice/desktop/source/lib/init.cxx:2503 #3 0x00007f1d87648db0 in Link<void*, void>::Call (data=<optimized out>, this=0x30d537e8) at libreoffice/include/tools/link.hxx:111 #4 ImplHandleUserEvent (pSVEvent=0x30d537e0) at libreoffice/vcl/source/window/winproc.cxx:2285 #5 ImplWindowFrameProc (_pWindow=<optimized out>, nEvent=SalEvent::UserEvent, pEvent=0x30d537e0) at libreoffice/vcl/source/window/winproc.cxx:2849 #6 0x00007f1d87b3accc in SalFrame::CallCallback (pEvent=0x30d537e0, nEvent=SalEvent::UserEvent, this=0x38abd50) at libreoffice/vcl/inc/salframe.hxx:311 #7 SvpSalInstance::ProcessEvent (this=0xe87940, aEvent=...) at libreoffice/vcl/headless/svpinst.cxx:272 #8 0x00007f1d87937029 in operator() (__closure=<synthetic pointer>) at libreoffice/vcl/source/app/salusereventlist.cxx:119 #9 SalUserEventList::DispatchUserEvents (this=this@entry=0xe87968, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false) at libreoffice/vcl/source/app/salusereventlist.cxx:120 #10 0x00007f1d87b3b4d9 in SvpSalInstance::ImplYield (this=this@entry=0xe87940, bWait=bWait@entry=true, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false) at libreoffice/vcl/headless/svpinst.cxx:425 Change-Id: Id6961b300ce67f5cfcbb91284a84bf02edc6aec3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187632 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 6034be914e4afdbdc330a6d1b43ff02cf966dacf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187661 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
This commit is contained in:
@@ -2425,13 +2425,22 @@ void CallbackFlushHandler::enqueueUpdatedTypes()
|
||||
LOK_CALLBACK_INVALIDATE_VIEW_CURSOR,
|
||||
LOK_CALLBACK_TEXT_VIEW_SELECTION };
|
||||
|
||||
for( int type : orderedUpdatedTypes )
|
||||
if (viewShell)
|
||||
{
|
||||
if(o3tl::make_unsigned( type ) < updatedTypes.size() && updatedTypes[ type ])
|
||||
for( int type : orderedUpdatedTypes )
|
||||
{
|
||||
enqueueUpdatedType( type, viewShell, m_viewId );
|
||||
if(o3tl::make_unsigned( type ) < updatedTypes.size() && updatedTypes[ type ])
|
||||
{
|
||||
enqueueUpdatedType( type, viewShell, m_viewId );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// View removed, probably cleaning up.
|
||||
SAL_INFO("lok", "View #" << m_viewId << " no longer found for updated events");
|
||||
}
|
||||
|
||||
for( const auto& it : updatedTypesPerViewId )
|
||||
{
|
||||
int viewId = it.first;
|
||||
|
||||
Reference in New Issue
Block a user