sw/source/uibase/app/swmodul1.cxx | 4 ++-- sw/source/uibase/uno/unotxdoc.cxx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
New commits: commit fde2629fa5795dffde0504758f990592d294c5ff Author: Tor Lillqvist <t...@collabora.com> AuthorDate: Thu Jan 14 23:50:39 2021 +0200 Commit: Tor Lillqvist <t...@collabora.com> CommitDate: Fri Jan 15 09:09:44 2021 +0100 Fix errors in produced JSON introduced with the switch to JsonWriter GetRedlineAuthorInfo() should produce a JSON array and not an object with empty strings as keys, which is incorrect JSON. The code in Collabora Online expects an array, see Document::getViewColors() in kit/Kit.cpp. Producing the wrong kind of data leads to Poco throwing an exception: Assertion violation: !_key.empty() [in file "src/ParseHandler.cpp", line 64] Also SwXTextDocument::getPostIts() should produce a JSON array. Change-Id: I1ab0653ca1eaa3c466d31b1f068ba5937a04e43e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109316 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <t...@collabora.com> diff --git a/sw/source/uibase/app/swmodul1.cxx b/sw/source/uibase/app/swmodul1.cxx index 55bb11277726..a20ef64ddf1d 100644 --- a/sw/source/uibase/app/swmodul1.cxx +++ b/sw/source/uibase/app/swmodul1.cxx @@ -436,10 +436,10 @@ static Color lcl_GetAuthorColor(std::size_t nPos) /// Returns a JSON representation of a redline author. void SwModule::GetRedlineAuthorInfo(tools::JsonWriter& rJsonWriter) { - auto authorsNode = rJsonWriter.startNode("authors"); + auto authorsNode = rJsonWriter.startArray("authors"); for (std::size_t nAuthor = 0; nAuthor < m_pAuthorNames.size(); ++nAuthor) { - auto authorNode = rJsonWriter.startNode(""); + auto authorNode = rJsonWriter.startStruct(); rJsonWriter.put("index", static_cast<sal_Int64>(nAuthor)); rJsonWriter.put("name", m_pAuthorNames[nAuthor]); rJsonWriter.put("color", sal_uInt32(lcl_GetAuthorColor(nAuthor))); diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx index 4ef8253e5fa2..9c457cf49c19 100644 --- a/sw/source/uibase/uno/unotxdoc.cxx +++ b/sw/source/uibase/uno/unotxdoc.cxx @@ -3329,7 +3329,7 @@ void SwXTextDocument::getRulerState(tools::JsonWriter& rJsonWriter) void SwXTextDocument::getPostIts(tools::JsonWriter& rJsonWriter) { SolarMutexGuard aGuard; - auto commentsNode = rJsonWriter.startNode("comments"); + auto commentsNode = rJsonWriter.startArray("comments"); for (auto const& sidebarItem : *m_pDocShell->GetView()->GetPostItMgr()) { sw::annotation::SwAnnotationWin* pWin = sidebarItem->mpPostIt.get(); @@ -3355,7 +3355,7 @@ void SwXTextDocument::getPostIts(tools::JsonWriter& rJsonWriter) } const OString sRects = comphelper::string::join("; ", aRects); - auto commentNode = rJsonWriter.startNode(""); + auto commentNode = rJsonWriter.startStruct(); rJsonWriter.put("id", pField->GetPostItId()); rJsonWriter.put("parent", pWin->CalcParent()); rJsonWriter.put("author", pField->GetPar1()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits