[Libreoffice-commits] online.git: loleaflet/src loolwsd/LOOLWSD.cpp
Mihai Varga
mihai.varga at collabora.com
Tue Nov 17 10:08:21 PST 2015
loleaflet/src/core/Socket.js | 1 +
loleaflet/src/layer/tile/TileLayer.js | 2 +-
loolwsd/LOOLWSD.cpp | 6 +++++-
3 files changed, 7 insertions(+), 2 deletions(-)
New commits:
commit d18667d000e6a1374e035193a72a9a7933570c84
Author: Mihai Varga <mihai.varga at collabora.com>
Date: Tue Nov 17 20:06:59 2015 +0200
ccu#1273 support utf8 characters in the message passing server <-> client
diff --git a/loleaflet/src/core/Socket.js b/loleaflet/src/core/Socket.js
index 02b0d72..d75a7cb 100644
--- a/loleaflet/src/core/Socket.js
+++ b/loleaflet/src/core/Socket.js
@@ -86,6 +86,7 @@ L.Socket = {
// if it's not a tile, parse the whole message
textMsg = String.fromCharCode.apply(null, imgBytes);
}
+ textMsg = decodeURIComponent(window.escape(textMsg));
}
else {
var data = imgBytes.subarray(index + 1);
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 5b8a791..6232f52 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -904,7 +904,7 @@ L.TileLayer = L.GridLayer.extend({
}
else {
// Decode UTF-8.
- e.clipboardData.setData('text/plain', decodeURIComponent(window.escape(this._selectionTextContent)));
+ e.clipboardData.setData('text/plain', this._selectionTextContent);
}
},
diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp
index 3626953..31767a1 100644
--- a/loolwsd/LOOLWSD.cpp
+++ b/loolwsd/LOOLWSD.cpp
@@ -100,6 +100,7 @@ DEALINGS IN THE SOFTWARE.
#include <Poco/FileStream.h>
#include <Poco/TemporaryFile.h>
#include <Poco/StreamCopier.h>
+#include <Poco/URI.h>
#include "LOOLProtocol.hpp"
@@ -145,6 +146,7 @@ using Poco::Net::Socket;
using Poco::ThreadLocal;
using Poco::Random;
using Poco::NamedMutex;
+using Poco::URI;
class QueueHandler: public Runnable
{
@@ -317,7 +319,9 @@ public:
{
// The user might request a file to download
std::string dirPath = LOOLWSD::childRoot + "/" + tokens[1] + LOOLSession::jailDocumentURL + "/" + tokens[2];
- std::string filePath = dirPath + "/" + tokens[3];
+ std::string fileName;
+ URI::decode(tokens[3], fileName);
+ std::string filePath = dirPath + "/" + fileName;
std::cout << Util::logPrefix() << "HTTP request for: " << filePath << std::endl;
File file(filePath);
if (file.exists())
More information about the Libreoffice-commits
mailing list