sw/inc/undobj.hxx | 2 +- sw/source/core/undo/undobj.cxx | 19 +++---------------- sw/source/filter/basflt/shellio.cxx | 3 +-- 3 files changed, 5 insertions(+), 19 deletions(-)
New commits: commit 2327554df607b8f74d8cb91d81659bcc125a99dc Author: Michael Stahl <mst...@redhat.com> Date: Wed Jul 19 16:52:46 2017 +0200 tdf#107975: Revert "fix deleting an image anchored to last paragraph ... in document" This reverts commit 2903d85d6197829633d7f96c95cd55821c2c20ff. It was a good idea, but is not complete. Change-Id: Ia0da2640889ce6e78b89b27c75fae9d6508afd40 (cherry picked from commit 14d2255cbd254dea6e87a04f747e7d6d3d54ceb9) Reviewed-on: https://gerrit.libreoffice.org/40187 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/inc/undobj.hxx b/sw/inc/undobj.hxx index 7c8ea72590a8..20cd6fa7ac0b 100644 --- a/sw/inc/undobj.hxx +++ b/sw/inc/undobj.hxx @@ -142,7 +142,7 @@ namespace o3tl { /// will DelContentIndex destroy a frame anchored at character at rAnchorPos? bool IsDestroyFrameAnchoredAtChar(SwPosition const & rAnchorPos, - SwPosition const & rStart, SwPosition const & rEnd, const SwDoc* doc, + SwPosition const & rStart, SwPosition const & rEnd, DelContentType const nDelContentType = DelContentType::AllMask); // This class has to be inherited into an Undo-object if it saves content diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx index 4b178c130776..b511dd23feae 100644 --- a/sw/source/core/undo/undobj.cxx +++ b/sw/source/core/undo/undobj.cxx @@ -637,7 +637,7 @@ void SwUndoSaveContent::DelContentIndex( const SwPosition& rMark, if( !pHistory ) pHistory.reset( new SwHistory ); if (IsDestroyFrameAnchoredAtChar( - *pAPos, *pStt, *pEnd, pDoc, nDelContentType)) + *pAPos, *pStt, *pEnd, nDelContentType)) { pHistory->Add( *static_cast<SwFlyFrameFormat *>(pFormat), nChainInsPos ); n = n >= rSpzArr.size() ? rSpzArr.size() : n+1; @@ -1138,27 +1138,14 @@ OUString ShortenString(const OUString & rStr, sal_Int32 nLength, const OUString } bool IsDestroyFrameAnchoredAtChar(SwPosition const & rAnchorPos, - SwPosition const & rStart, SwPosition const & rEnd, const SwDoc* doc, + SwPosition const & rStart, SwPosition const & rEnd, DelContentType const nDelContentType) { - bool inSelection = rAnchorPos < rEnd; - if( rAnchorPos == rEnd ) - { - const SwNodes& nodes = doc->GetNodes(); - if( rEnd == SwPosition( nodes.GetEndOfContent())) - inSelection = true; - else - { - SwNodeIndex idx( nodes.GetEndOfContent()); - if( SwContentNode* last = SwNodes::GoPrevious( &idx )) - inSelection = rEnd == SwPosition( *last, last->Len()); - } - } // Here we identified the objects to destroy: // - anchored between start and end of the selection // - anchored in start of the selection with "CheckNoContent" // - anchored in start of sel. and the selection start at pos 0 - return inSelection + return (rAnchorPos.nNode < rEnd.nNode) && ( (DelContentType::CheckNoCntnt & nDelContentType) || (rStart.nNode < rAnchorPos.nNode) || !rStart.nContent.GetIndex() diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx index 615c0d938780..de7e44b0d521 100644 --- a/sw/source/filter/basflt/shellio.cxx +++ b/sw/source/filter/basflt/shellio.cxx @@ -245,8 +245,7 @@ sal_uLong SwReader::Read( const Reader& rOptions ) && !IsDestroyFrameAnchoredAtChar( *pFrameAnchor, *pUndoPam->GetPoint(), - *pUndoPam->GetMark(), - mxDoc.get()) + *pUndoPam->GetMark()) ) ) )
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits