[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - desktop/inc desktop/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Mar 5 09:40:24 UTC 2019
desktop/inc/lib/init.hxx | 2 ++
desktop/source/lib/init.cxx | 15 +++++++++++----
2 files changed, 13 insertions(+), 4 deletions(-)
New commits:
commit 09a0b496ae3c6c4fb4b9ce2645c65c7c031941c1
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Fri Feb 15 09:23:58 2019 -0500
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Tue Mar 5 10:40:00 2019 +0100
LOK: always update the payload string via the cache
Change-Id: I090ceb7d214d0809e86b023a8806b6655627918a
Reviewed-on: https://gerrit.libreoffice.org/68271
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
diff --git a/desktop/inc/lib/init.hxx b/desktop/inc/lib/init.hxx
index be96814820ce..2ba5595d8b46 100644
--- a/desktop/inc/lib/init.hxx
+++ b/desktop/inc/lib/init.hxx
@@ -102,6 +102,8 @@ namespace desktop {
/// Parse and set the RectangleAndPart object and return it. Clobbers PayloadString.
RectangleAndPart& setRectangleAndPart(const std::string& payload);
+ /// Set a RectangleAndPart object and update PayloadString.
+ void setRectangleAndPart(const RectangleAndPart& rRectAndPart);
/// Return the parsed RectangleAndPart instance.
const RectangleAndPart& getRectangleAndPart() const;
/// Parse and set the JSON object and return it. Clobbers PayloadString.
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 45a68a2a6703..b621f134b5f4 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -459,12 +459,18 @@ RectangleAndPart RectangleAndPart::Create(const std::string& rPayload)
RectangleAndPart& CallbackFlushHandler::CallbackData::setRectangleAndPart(const std::string& payload)
{
- PayloadString = payload;
+ setRectangleAndPart(RectangleAndPart::Create(payload));
- PayloadObject = RectangleAndPart::Create(payload);
+ // Return reference to the cached object.
return boost::get<RectangleAndPart>(PayloadObject);
}
+void CallbackFlushHandler::CallbackData::setRectangleAndPart(const RectangleAndPart& rRectAndPart)
+{
+ PayloadString = rRectAndPart.toString().getStr();
+ PayloadObject = rRectAndPart;
+}
+
const RectangleAndPart& CallbackFlushHandler::CallbackData::getRectangleAndPart() const
{
assert(PayloadObject.which() == 1);
@@ -480,6 +486,7 @@ boost::property_tree::ptree& CallbackFlushHandler::CallbackData::setJson(const s
// Let boost normalize the payload so it always matches the cache.
setJson(aTree);
+ // Return reference to the cached object.
return boost::get<boost::property_tree::ptree>(PayloadObject);
}
@@ -916,7 +923,7 @@ void CallbackFlushHandler::callback(const int type, const char* payload, void* d
void CallbackFlushHandler::queue(const int type, const char* data)
{
CallbackData aCallbackData(type, (data ? data : "(nil)"));
- std::string& payload = aCallbackData.PayloadString;
+ const std::string& payload = aCallbackData.PayloadString;
SAL_INFO("lok", "Queue: " << type << " : " << payload);
#ifdef DBG_UTIL
@@ -1205,7 +1212,7 @@ void CallbackFlushHandler::queue(const int type, const char* data)
}
}
- payload = rcNew.toString().getStr();
+ aCallbackData.setRectangleAndPart(rcNew);
}
break;
More information about the Libreoffice-commits
mailing list