loolwsd/LOOLKit.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-)
New commits: commit ea274bcf6b94400cd4e3f13f1ac954ed5c24a36c Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 19 16:04:23 2016 +0200 Document::ViewCallback: don't fail on EMPTY cell cursor Change-Id: I67bee2a1f1332bfb82963e0fb3a0e761054f826e diff --git a/loolwsd/LOOLKit.cpp b/loolwsd/LOOLKit.cpp index 29d84f4..d5d3fc9 100644 --- a/loolwsd/LOOLKit.cpp +++ b/loolwsd/LOOLKit.cpp @@ -814,12 +814,16 @@ private: nType == LOK_CALLBACK_CELL_CURSOR) { Poco::StringTokenizer tokens(payload, ",", Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM); - auto cursorX = std::stoi(tokens[0]); - auto cursorY = std::stoi(tokens[1]); - auto cursorWidth = std::stoi(tokens[2]); - auto cursorHeight = std::stoi(tokens[3]); + // Payload may be 'EMPTY'. + if (tokens.count() == 4) + { + auto cursorX = std::stoi(tokens[0]); + auto cursorY = std::stoi(tokens[1]); + auto cursorWidth = std::stoi(tokens[2]); + auto cursorHeight = std::stoi(tokens[3]); - pDescr->Doc->_tileQueue->updateCursorPosition(0, 0, cursorX, cursorY, cursorWidth, cursorHeight); + pDescr->Doc->_tileQueue->updateCursorPosition(0, 0, cursorX, cursorY, cursorWidth, cursorHeight); + } } else if (nType == LOK_CALLBACK_INVALIDATE_VIEW_CURSOR || nType == LOK_CALLBACK_CELL_VIEW_CURSOR) @@ -831,12 +835,16 @@ private: auto part = command->get("part").toString(); auto text = command->get("rectangle").toString(); Poco::StringTokenizer tokens(text, ",", Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM); - auto cursorX = std::stoi(tokens[0]); - auto cursorY = std::stoi(tokens[1]); - auto cursorWidth = std::stoi(tokens[2]); - auto cursorHeight = std::stoi(tokens[3]); + // Payload may be 'EMPTY'. + if (tokens.count() == 4) + { + auto cursorX = std::stoi(tokens[0]); + auto cursorY = std::stoi(tokens[1]); + auto cursorWidth = std::stoi(tokens[2]); + auto cursorHeight = std::stoi(tokens[3]); - pDescr->Doc->_tileQueue->updateCursorPosition(std::stoi(viewId), std::stoi(part), cursorX, cursorY, cursorWidth, cursorHeight); + pDescr->Doc->_tileQueue->updateCursorPosition(std::stoi(viewId), std::stoi(part), cursorX, cursorY, cursorWidth, cursorHeight); + } } // Forward to the same view only. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits