[Libreoffice-commits] core.git: svl/source

Miklos Vajna vmiklos at collabora.co.uk
Wed Aug 3 18:03:09 UTC 2016


 svl/source/undo/undo.cxx |   13 +++++++++++++
 1 file changed, 13 insertions(+)

New commits:
commit 9460d24883067160c53b53a018a88298131908da
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Aug 3 18:35:57 2016 +0200

    svl: handle nullptr pWriter in SfxUndoManager::dumpAsXml()
    
    This is useful when it's called from gdb for Calc.
    
    Change-Id: I22b3e5bbfc5627bff27899a288f7c25179f750ec
    Reviewed-on: https://gerrit.libreoffice.org/27836
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx
index e9b2c06..1caf382 100644
--- a/svl/source/undo/undo.cxx
+++ b/svl/source/undo/undo.cxx
@@ -1254,6 +1254,14 @@ void SfxUndoManager::RemoveOldestUndoAction()
 
 void SfxUndoManager::dumpAsXml(xmlTextWriterPtr pWriter) const
 {
+    bool bOwns = false;
+    if (!pWriter)
+    {
+        pWriter = xmlNewTextWriterFilename("undo.xml", 0);
+        xmlTextWriterStartDocument(pWriter, nullptr, nullptr, nullptr);
+        bOwns = true;
+    }
+
     xmlTextWriterStartElement(pWriter, BAD_CAST("sfxUndoManager"));
     xmlTextWriterWriteAttribute(pWriter, BAD_CAST("nUndoActionCount"), BAD_CAST(OString::number(GetUndoActionCount()).getStr()));
 
@@ -1261,6 +1269,11 @@ void SfxUndoManager::dumpAsXml(xmlTextWriterPtr pWriter) const
         GetUndoAction(i)->dumpAsXml(pWriter);
 
     xmlTextWriterEndElement(pWriter);
+    if (bOwns)
+    {
+        xmlTextWriterEndDocument(pWriter);
+        xmlFreeTextWriter(pWriter);
+    }
 }
 
 struct SfxListUndoAction::Impl


More information about the Libreoffice-commits mailing list