tdf#92917: fix crash in Impress in viewmediashape (slideshow)

See bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=172527

I thought about this patch comparing with OGLTransitionerImpl::initWindowFromSlideShowView in:
slideshow/source/engine/opengl/TransitionerImpl.cxx

304     /// take the XSlideShowView and extract the parent window from it. see viewmediashape.cxx
305     uno::Reference< rendering::XCanvas > xCanvas(mxView->getCanvas(), uno::UNO_QUERY_THROW);
306     uno::Sequence< uno::Any > aDeviceParams;
307     ::canvas::tools::getDeviceInfo( xCanvas, aDeviceParams );
...
317     OutputDevice* pDevice = reinterpret_cast<OutputDevice*>(aVal);
318     vcl::Window* pWindow = pDevice ? pDevice->GetOwnerWindow() : nullptr;

Change-Id: I183cc8271f75fb145c27688c5594805792c1fdaf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116551
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
Julien Nabet 2021-06-01 19:08:13 +02:00
parent a3a203b7c6
commit 7e9c3569f9

View file

@ -393,7 +393,8 @@ namespace slideshow::internal
rVCLDeviceParams[ 1 ] >>= aVal;
vcl::Window* pWindow = reinterpret_cast< vcl::Window* >( aVal );
OutputDevice* pDevice = reinterpret_cast<OutputDevice*>(aVal);
vcl::Window* pWindow = pDevice ? pDevice->GetOwnerWindow() : nullptr;
if( pWindow )
{