wsd/ClientSession.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
New commits: commit 47cc29467d641b38a7714e14c0024a4135b893f6 Author: Tamás Zolnai <tamas.zol...@collabora.com> Date: Sat Jun 16 14:22:01 2018 +0200 Need to extract the initial part id from status message Change-Id: Ia0651d93fedb71d3ca1e24d0356ac179e95e907e diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp index d08595721..a9ad571bf 100644 --- a/wsd/ClientSession.cpp +++ b/wsd/ClientSession.cpp @@ -846,11 +846,21 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt setViewLoaded(); docBroker->setLoaded(); - const std::string stringMsg(buffer, length); - const size_t index = stringMsg.find("type=") + 5; - if (index != std::string::npos) + for(auto &token : tokens) { - _docType = stringMsg.substr(index, stringMsg.find_first_of(' ', index) - index); + // Need to get the initial part id from status message + int part = -1; + if(getTokenInteger(token, "current", part)) + { + _clientSelectedPart = part; + } + + // Get document type too + std::string docType; + if(getTokenString(token, "type", docType)) + { + _docType = docType; + } } // Forward the status response to the client. commit 8be80befa0ca88ce7b512a229c953229dcf8dbb0 Author: Tamás Zolnai <tamas.zol...@collabora.com> Date: Sat Jun 16 13:52:48 2018 +0200 Avoid problems coming from uninitialized client part number Change-Id: If0508fba6a4ccd04c655428de23022b0df492f01 diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp index 9a9762dcb..d08595721 100644 --- a/wsd/ClientSession.cpp +++ b/wsd/ClientSession.cpp @@ -44,7 +44,7 @@ ClientSession::ClientSession(const std::string& id, _isViewLoaded(false), _keyEvents(1), _clientVisibleArea(0, 0, 0, 0), - _clientSelectedPart(0), + _clientSelectedPart(-1), _tileWidthPixel(0), _tileHeightPixel(0), _tileWidthTwips(0), @@ -1085,7 +1085,8 @@ void ClientSession::handleTileInvalidation(const std::string& message, // Skip requesting new tiles if we don't have client visible area data yet. if(!_clientVisibleArea.hasSurface() || _tileWidthPixel == 0 || _tileHeightPixel == 0 || - _tileWidthTwips == 0 || _tileHeightTwips == 0) + _tileWidthTwips == 0 || _tileHeightTwips == 0 || + _clientSelectedPart == -1) { return; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits