[Libreoffice-commits] online.git: kit/Kit.cpp
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Mon Jan 16 01:44:57 UTC 2017
kit/Kit.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
New commits:
commit e0dcc7a972e1923605b02f9c7a0bd0cadf5aafef
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Wed Jan 11 17:06:45 2017 -0500
wsd: retain the Core callback object
Since we have no control over when Core might
use the callback object, we should retain it
indefinetely. This is safer and has no impact.
Because Core uses a timer to flush callbacks,
it can issue the callbacks for a view after
it had been destroyed, thereby segfaulting.
Change-Id: I2ef87234d0b4dff83ded320b480abce53188fec4
Reviewed-on: https://gerrit.libreoffice.org/33116
Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
Tested-by: Ashod Nakashian <ashnakash at gmail.com>
diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 13bea18..f28978e 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -962,7 +962,10 @@ private:
_loKitDocument->destroyView(viewId);
}
- _viewIdToCallbackDescr.erase(viewId);
+ // Since callback messages are processed on idle-timer,
+ // we could recieve callbacks after destroying a view.
+ // Retain the CallbackDescriptor object, which is shared with Core.
+ // _viewIdToCallbackDescr.erase(viewId);
viewCount = _loKitDocument->getViewsCount();
LOG_INF("Document [" << _url << "] session [" <<
More information about the Libreoffice-commits
mailing list