• Michael Stahl's avatar
    tdf#105188 sd: fix shutdown crash after accessing master pages · 983ac877
    Michael Stahl yazdı
    The problem here is that the destructor of SdModule does a lot of
    things, including destroying an SdXImpressDocument that is referenced
    from some SdGlobalResourceContainer.
    
    This calls SD_MOD() to get the SdModule to get some resource, but at
    that point SfxApplication::GetModule() returns null, because the
    sequence was changed from first deleting the SfxModules, then clearing
    the pointer in ~SfxModule to null, to unique_ptr::reset(), which, at
    least in libstdc++, is implemented via std::swap, so it clears the
    pointer before deleting the SfxModule.
    
    It appears rather brittle to rely on such a subtle detail, so refactor
    things so that SdGlobalResourceContainer is no longer owned by SdModule
    but has its own pet XTerminationListener, which means it will be
    destroyed earlier, while the SdModule is still fully alive.
    
    (regression from f7b1cd66)
    
    Change-Id: I7f03f3adf431be8728ef3d65a078b536cb96f959
    983ac877
Adı
Son kayıt (commit)
Son güncelleme
..
helper Loading commit data...
misc Loading commit data...
pch Loading commit data...
undo Loading commit data...
Annotation.hxx Loading commit data...
AnnotationEnumeration.hxx Loading commit data...
CustomAnimationCloner.hxx Loading commit data...
CustomAnimationEffect.hxx Loading commit data...
CustomAnimationPreset.hxx Loading commit data...
EffectMigration.hxx Loading commit data...
FactoryIds.hxx Loading commit data...
Outliner.hxx Loading commit data...
OutlinerIterator.hxx Loading commit data...
SdShapeTypes.hxx Loading commit data...
TransitionPreset.hxx Loading commit data...
animations.hxx Loading commit data...
anminfo.hxx Loading commit data...
app.hrc Loading commit data...
createpresentation.hxx Loading commit data...
createunocustomshow.hxx Loading commit data...
createunopageimpl.hxx Loading commit data...
cusshow.hxx Loading commit data...
customshowlist.hxx Loading commit data...
diadef.h Loading commit data...
drawdoc.hxx Loading commit data...
fadedef.h Loading commit data...
glob.hrc Loading commit data...
glob.hxx Loading commit data...
helpids.h Loading commit data...
imapinfo.hxx Loading commit data...
notifydocumentevent.hxx Loading commit data...
pglink.hxx Loading commit data...
pres.hxx Loading commit data...
prlayout.hxx Loading commit data...
randomnode.hxx Loading commit data...
resltn.hxx Loading commit data...
sdabstdlg.hxx Loading commit data...
sdattr.hrc Loading commit data...
sdattr.hxx Loading commit data...
sdcgmfilter.hxx Loading commit data...
sdcommands.h Loading commit data...
sddll.hxx Loading commit data...
sddllapi.h Loading commit data...
sdenumdef.hxx Loading commit data...
sderror.hxx Loading commit data...
sdfilter.hxx Loading commit data...
sdgrffilter.hxx Loading commit data...
sdhtmlfilter.hxx Loading commit data...
sdiocmpt.hxx Loading commit data...
sdmod.hxx Loading commit data...
sdobjfac.hxx Loading commit data...
sdpage.hxx Loading commit data...
sdpptwrp.hxx Loading commit data...
sdresid.hxx Loading commit data...
sdundo.hxx Loading commit data...
sdxmlwrp.hxx Loading commit data...
shapelist.hxx Loading commit data...
stlfamily.hxx Loading commit data...
stlpool.hxx Loading commit data...
stlsheet.hxx Loading commit data...
strmname.h Loading commit data...
textapi.hxx Loading commit data...
undoanim.hxx Loading commit data...