sw/source/core/crsr/bookmrk.cxx | 8 ++++++++ sw/source/core/doc/docbm.cxx | 6 ++++++ sw/source/core/inc/bookmrk.hxx | 4 +++- sw/source/core/unocore/unobkm.cxx | 1 - 4 files changed, 17 insertions(+), 2 deletions(-)
New commits: commit f0c4cd51cb160492d78c2796f71ecd88da25fa59 Author: Renato Ferreira <renato.w...@gmail.com> Date: Sat Nov 15 00:22:57 2014 -0500 fdo#51741 Mark document as modified on bookmark rename / delete Change-Id: I378037ea546d0f2dc4ab9e0b0e6f9bf65c8db5b4 Deletion: overrided DdeBookmark::DeregisterFromDoc in Bookmark Renaming: in MarkManager::renameMark Reviewed-on: https://gerrit.libreoffice.org/12436 Reviewed-by: Michael Stahl <mst...@redhat.com> Tested-by: Michael Stahl <mst...@redhat.com> diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx index 35fc43e..d79fffc 100644 --- a/sw/source/core/crsr/bookmrk.cxx +++ b/sw/source/core/crsr/bookmrk.cxx @@ -272,6 +272,14 @@ namespace sw { namespace mark io_pDoc->getIDocumentState().SetModified(); } + void Bookmark::DeregisterFromDoc(SwDoc* const io_pDoc) + { + DdeBookmark::DeregisterFromDoc(io_pDoc); + + // fdo#51741 Bookmark should mark document as modified when deleted + io_pDoc->getIDocumentState().SetModified(); + } + ::sfx2::IXmlIdRegistry& Bookmark::GetRegistry() { SwDoc *const pDoc( GetMarkPos().GetDoc() ); diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index 22cef6b..b06097a 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -28,6 +28,7 @@ #include <dcontact.hxx> #include <doc.hxx> #include <IDocumentRedlineAccess.hxx> +#include <IDocumentState.hxx> #include <docary.hxx> #include <xmloff/odffields.hxx> #include <editsh.hxx> @@ -550,6 +551,11 @@ namespace sw { namespace mark m_aMarkNamesSet.erase(pMarkBase->GetName()); m_aMarkNamesSet.insert(rNewName); pMarkBase->SetName(rNewName); + + // fdo#51741 Bookmark should mark document as modified when renamed + if (dynamic_cast< ::sw::mark::Bookmark* >(io_pMark)) { + m_pDoc->getIDocumentState().SetModified(); + } } return true; } diff --git a/sw/source/core/inc/bookmrk.hxx b/sw/source/core/inc/bookmrk.hxx index b5eef56..d5bc95c 100644 --- a/sw/source/core/inc/bookmrk.hxx +++ b/sw/source/core/inc/bookmrk.hxx @@ -152,7 +152,7 @@ namespace sw { void SetRefObject( SwServerObject* pObj ); - void DeregisterFromDoc(SwDoc* const pDoc); + virtual void DeregisterFromDoc(SwDoc* const pDoc); virtual ~DdeBookmark(); private: @@ -171,6 +171,8 @@ namespace sw { const OUString& rShortName); virtual void InitDoc(SwDoc* const io_Doc) SAL_OVERRIDE; + virtual void DeregisterFromDoc(SwDoc* const io_pDoc) SAL_OVERRIDE; + virtual const OUString& GetShortName() const SAL_OVERRIDE { return m_sShortName; } virtual const vcl::KeyCode& GetKeyCode() const SAL_OVERRIDE diff --git a/sw/source/core/unocore/unobkm.cxx b/sw/source/core/unocore/unobkm.cxx index 3697649..f42beb3 100644 --- a/sw/source/core/unocore/unobkm.cxx +++ b/sw/source/core/unocore/unobkm.cxx @@ -357,7 +357,6 @@ throw (uno::RuntimeException, std::exception) m_pImpl->m_pDoc->GetIDocumentUndoRedo().AppendUndo( new SwUndoRenameBookmark(*m_pImpl->m_pRegisteredBookmark, sOldName)); } - m_pImpl->m_pDoc->getIDocumentState().SetModified(); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits