summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2017-09-02 06:19:05 +0200
committerMichael Stahl <mstahl@redhat.com>2017-09-06 12:25:38 +0200
commit12109f0053fefcc74e54c696a940052faffea0e3 (patch)
treee383807276eac258dfa98eddd724f06f4f0bb708
parentbf8ba674089cea3b335c0668a40bc42274f4146a (diff)
tdf#109261: Crash when adding a video to a slide with zero undo steps
When undo is disabled (no undo steps), ReplaceObjectAtView() method frees pPickObj, so we need to save it's reused data first. Change-Id: Icbc800d4d33cf229006aecde7d62aa2a7ea35879 Reviewed-on: https://gerrit.libreoffice.org/41822 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit 27068e6cc39aed8ebfa5fdd7a67acb89f5adcb89) Reviewed-on: https://gerrit.libreoffice.org/41824 Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--sd/source/ui/view/sdview4.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/sd/source/ui/view/sdview4.cxx b/sd/source/ui/view/sdview4.cxx
index 051a3cc0e5e3..ad806d8b6073 100644
--- a/sd/source/ui/view/sdview4.cxx
+++ b/sd/source/ui/view/sdview4.cxx
@@ -341,8 +341,12 @@ SdrMediaObj* View::InsertMediaObj( const OUString& rMediaURL, const OUString& rM
else if( pPV )
{
::tools::Rectangle aRect( rPos, rSize );
+ SdrObjUserCall* pUserCall = nullptr;
if( pPickObj )
+ {
aRect = pPickObj->GetLogicRect();
+ pUserCall = pPickObj->GetUserCall(); // ReplaceObjectAtView can free pPickObj
+ }
pNewMediaObj = new SdrMediaObj( aRect );
@@ -371,9 +375,9 @@ SdrMediaObj* View::InsertMediaObj( const OUString& rMediaURL, const OUString& rM
if( pPickObj )
{
- pNewMediaObj->AdjustToMaxRect( pPickObj->GetLogicRect() );
+ pNewMediaObj->AdjustToMaxRect( aRect );
if( bIsPres )
- pNewMediaObj->SetUserCall(pPickObj->GetUserCall());
+ pNewMediaObj->SetUserCall( pUserCall );
}
}