diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-03-25 10:41:11 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2021-04-16 14:54:52 +0200 |
commit | f38465834acf42b6a6023ea4b1bb7cdd09c77030 (patch) | |
tree | 14b4b87ee4d3239455820530417375c00ab253b4 | |
parent | 8b127d938d852d0ec3590cc05ee2d5b50d8e70b7 (diff) |
SVGFilter::implGenerateMetaData check page before use
Avoid crash in online impress:
1. session A edits the textbox
2. session B removed slide which is edited by A
3. session A tries to edit another textbox on other slide
Change-Id: Ic875321107baa48fd2a5b52aa2580a8fcde40823
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113077
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114203
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r-- | filter/source/svg/svgexport.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index d3e074620e66..fd94e541ac2b 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -1227,6 +1227,8 @@ void SVGFilter::implGenerateMetaData() { const Reference< css::drawing::XDrawPage > & xDrawPage = mSelectedPages[i]; Reference< css::drawing::XMasterPageTarget > xMasterPageTarget( xDrawPage, UNO_QUERY ); + if (!xMasterPageTarget.is()) + continue; Reference< css::drawing::XDrawPage > xMasterPage = xMasterPageTarget->getMasterPage(); OUString aSlideId(aId + "_" + OUString::number( i )); |