diff options
author | Tim Jenssen <tim.jenssen@digia.com> | 2014-08-01 10:38:03 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@digia.com> | 2014-08-01 10:40:21 +0200 |
commit | 2bfd14dbf855f1f585a6a1c2b90c87cd076261d0 (patch) | |
tree | cd1e3f8309b72af221a89a658e24b5b8302d7bdd | |
parent | 1a26446186b19fadc0592a4b12d2830d4995cbd3 (diff) |
QmlPuppet: Fix compile with Qt older than 5.2
Change-Id: I0ef3c5e374b1b01c22b553b99dfbd8eb7783fa90
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
-rw-r--r-- | share/qtcreator/qml/qmlpuppet/container/sharedmemory_unix.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/container/sharedmemory_unix.cpp b/share/qtcreator/qml/qmlpuppet/container/sharedmemory_unix.cpp index cbc5635ad0..a685b9fd40 100644 --- a/share/qtcreator/qml/qmlpuppet/container/sharedmemory_unix.cpp +++ b/share/qtcreator/qml/qmlpuppet/container/sharedmemory_unix.cpp @@ -53,6 +53,14 @@ #define NAME_MAX PSHMNAMLEN #endif +#ifndef QStringLiteral +#define QStringLiteral(str) QString::fromUtf8(str) +#endif + +#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0) +#include <QRegExp> +#endif + namespace QmlDesigner { class SharedMemoryLocker @@ -94,8 +102,17 @@ static QByteArray makePlatformSafeKey(const QString &key) { if (key.isEmpty()) return QByteArray(); +#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0) + QByteArray data(QCryptographicHash::hash(key.toLatin1(), QCryptographicHash::Sha1).toBase64()); + QString ambiguousChars(QStringLiteral("[=~<>|?*!@#$%^&:,; \\\\]")); + + QByteArray normalizedData; + normalizedData = QString(data).replace(QRegExp(ambiguousChars), QStringLiteral("_")).toLatin1(); + return normalizedData; +#else return QCryptographicHash::hash(key.toLatin1(), QCryptographicHash::Sha1).toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals); +#endif } |