sd/source/filter/eppt/pptx-epptooxml.cxx | 2 +- sd/source/ui/view/sdview3.cxx | 3 ++- svx/source/svdraw/svdundo.cxx | 6 ++++++ 3 files changed, 9 insertions(+), 2 deletions(-)
New commits: commit 817e1c5289c353f20c9fdf148684b44b31790cab Author: Aron Budea <[email protected]> AuthorDate: Wed Dec 24 03:25:24 2025 +1100 Commit: Xisco Fauli <[email protected]> CommitDate: Wed Dec 24 12:20:23 2025 +0100 tdf#170102 PP's Title and Content layout exported incorrectly In tdf#169825's fix I tried to correct the layout type corresponding to AUTOLAYOUT_OBJ, originating from PP's obj ST_SlideLayoutType to AUTOLAYOUT_TITLE_CONTENT, which had unexpected side-effects: PPTX->ODP->PPTX conversion of a 'Title, Content' layout added placeholder artifact. Revert that part of the change for now. Regression from eb338daa90afd569e1b86c058bb88a89fab6a557. Change-Id: I5ba7ee14c4ae3a3a336b051edee4ca8702b87397 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196169 Tested-by: Jenkins Reviewed-by: Balazs Varga <[email protected]> (cherry picked from commit 04e5572c796b63da94aedbd07b2b7bd972422161) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196176 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx index 2f158c9ad32e..1460a957a9b0 100644 --- a/sd/source/filter/eppt/pptx-epptooxml.cxx +++ b/sd/source/filter/eppt/pptx-epptooxml.cxx @@ -251,7 +251,7 @@ const PPTXLayoutInfo aLayoutInfo[] = { 8, "Title and table", "tbl" }, { 9, "Title, clipart on left, text on right", "clipArtAndTx" }, { 10, "Title, text on left, object on right", "txAndObj" }, - { 11, "Title and object", "obj" }, + { 1, "Title and object", "obj" }, { 12, "Title, text on left, two objects on right", "txAndTwoObj" }, { 13, "Title, object on left, text on right", "objAndTx" }, { 14, "Title, object on top, text on bottom", "objOverTx" }, commit 0dc03683f9536123327963c170203addb8408930 Author: Balazs Varga <[email protected]> AuthorDate: Mon Dec 22 14:59:46 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Wed Dec 24 12:20:10 2025 +0100 tdf#170027 - sd fix crash when undoing shape drag with Alt pressed Do not overwrite original shape during drag&drop with Alt, when we try to drag&drop the shape on the same shape, but create a new shape with new name, same as if we would drag&drop the object in general. Change-Id: I08b2197b3b9755455a165a566eb3452846c0f78e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196097 Reviewed-by: Mike Kaganski <[email protected]> Reviewed-by: Balazs Varga <[email protected]> Tested-by: Jenkins (cherry picked from commit 9f980e021ff1a7613003e5c93ec49a37c5ca3420) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196178 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sd/source/ui/view/sdview3.cxx b/sd/source/ui/view/sdview3.cxx index 27f66c6a2f67..138219c05431 100644 --- a/sd/source/ui/view/sdview3.cxx +++ b/sd/source/ui/view/sdview3.cxx @@ -764,7 +764,7 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, SdrPageView* pPV = nullptr; SdrObject* pPickObj2 = PickObj(rPos, getHitTolLog(), pPV); - if( ( mnAction & DND_ACTION_MOVE ) && pPickObj2 && pObj ) + if( ( mnAction & DND_ACTION_MOVE ) && pPickObj2 && pObj && pPickObj2->GetName() != pObj->GetName() ) { // replace object SdrPage* pWorkPage = GetSdrPageView()->GetPage(); @@ -804,6 +804,7 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, mnAction = DND_ACTION_COPY; } else if( ( mnAction & DND_ACTION_LINK ) && pPickObj2 && pObj && + pPickObj2->GetName() != pObj->GetName() && dynamic_cast< const SdrGrafObj *>( pPickObj2 ) == nullptr && dynamic_cast< const SdrOle2Obj *>( pPickObj2 ) == nullptr ) { diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx index 8c0b2f375e06..cc6de3fe1d5c 100644 --- a/svx/source/svdraw/svdundo.cxx +++ b/svx/source/svdraw/svdundo.cxx @@ -703,6 +703,7 @@ void SdrUndoRemoveObj::Undo() // position of the target object. Point aOwnerAnchorPos(0, 0); + assert(pObjList); // must never be null if (dynamic_cast< const SdrObjGroup* >(pObjList->getSdrObjectFromSdrObjList()) != nullptr) { aOwnerAnchorPos = pObjList->getSdrObjectFromSdrObjList()->GetAnchorPos(); @@ -725,6 +726,7 @@ void SdrUndoRemoveObj::Redo() { ImplUnmarkObject( mxObj.get() ); E3DModifySceneSnapRectUpdater aUpdater(mxObj.get()); + assert(pObjList); // must never be null pObjList->RemoveObject(mxObj->GetOrdNum()); } @@ -747,6 +749,7 @@ void SdrUndoInsertObj::Undo() { ImplUnmarkObject( mxObj.get() ); + assert(pObjList); // must never be null rtl::Reference<SdrObject> pChkObj= pObjList->RemoveObject(mxObj->GetOrdNum()); DBG_ASSERT(pChkObj.get()==mxObj.get(),"UndoInsertObj: RemoveObjNum!=mxObj"); } @@ -762,6 +765,7 @@ void SdrUndoInsertObj::Redo() // <InsertObject(..)>. Needed for correct Redo in Writer. (#i45952#) Point aAnchorPos( 0, 0 ); + assert(pObjList); // must never be null if (dynamic_cast<const SdrObjGroup*>(pObjList->getSdrObjectFromSdrObjList()) != nullptr) { aAnchorPos = mxObj->GetAnchorPos(); @@ -857,12 +861,14 @@ void SdrUndoReplaceObj::Undo() DBG_ASSERT(mxNewObj->IsInserted(),"SdrUndoReplaceObj::Undo(): New object is not inserted!"); ImplUnmarkObject( mxNewObj.get() ); + assert(m_pObjList); // must never be null m_pObjList->ReplaceObject(mxObj.get(), mxNewObj->GetOrdNum()); } void SdrUndoReplaceObj::Redo() { ImplUnmarkObject( mxObj.get() ); + assert(m_pObjList); // must never be null m_pObjList->ReplaceObject(mxNewObj.get(), mxObj->GetOrdNum()); // Trigger PageChangeCall
