[Libreoffice-commits] online.git: kit/Kit.cpp

Ashod Nakashian ashod.nakashian at collabora.co.uk
Mon Jan 30 08:06:49 UTC 2017


 kit/Kit.cpp |   17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

New commits:
commit f33f014f987b1fb210585fa1ec34f5ee467ea241
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date:   Mon Jan 30 01:43:06 2017 -0500

    wsd: simplify tracking of user info
    
    Change-Id: Iac860c5c1862fa3bbb1b6dd39e827712eb34ed9a
    Reviewed-on: https://gerrit.libreoffice.org/33682
    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 e093d0b..ad47009 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -1013,18 +1013,7 @@ private:
     {
         std::unique_lock<std::mutex> lock(_mutex);
 
-        std::map<int, UserInfo> viewInfo;
-        for (const auto& pair : _sessions)
-        {
-            const auto& session = pair.second;
-            const auto viewId = session->getViewId();
-            viewInfo[viewId] = UserInfo({session->getViewUserId(), session->getViewUserName()});
-        }
-
-        // Copy the old sessions to provide disconnected user info.
-        viewInfo.insert(_oldSessionIds.begin(), _oldSessionIds.end());
-
-        return viewInfo;
+        return _sessionUserInfo;
     }
 
     std::mutex& getMutex() override
@@ -1241,6 +1230,7 @@ private:
 
         const int viewId = _loKitDocument->getView();
         session->setViewId(viewId);
+        _sessionUserInfo[viewId] = UserInfo({session->getViewUserId(), session->getViewUserName()});
 
         _viewIdToCallbackDescr.emplace(viewId,
                                        std::unique_ptr<CallbackDescriptor>(new CallbackDescriptor({ this, viewId })));
@@ -1287,7 +1277,6 @@ private:
                     strncmp(data, disconnect.data(), disconnect.size()) == 0)
                 {
                     LOG_DBG("Removing ChildSession [" << sessionId << "].");
-                    _oldSessionIds[session->getViewId()] = UserInfo({session->getViewUserId(), session->getViewUserName()});
                     _sessions.erase(it);
                     const auto count = _sessions.size();
                     LOG_DBG("Have " << count << " child" << (count == 1 ? "" : "ren") <<
@@ -1524,7 +1513,7 @@ private:
     std::map<std::string, std::shared_ptr<ChildSession>> _sessions;
 
     /// For showing disconnected user info in the doc repair dialog.
-    std::map<int, UserInfo> _oldSessionIds;
+    std::map<int, UserInfo> _sessionUserInfo;
     Poco::Thread _callbackThread;
 };
 


More information about the Libreoffice-commits mailing list