From 0a4971c994bd072f96225892f7876d772139918a Mon Sep 17 00:00:00 2001 From: sledgehammer999 Date: Tue, 15 Feb 2022 17:08:39 +0200 Subject: [PATCH] Partially revert e93c360db66b6cbf8df37ffaa9fb966a801d2f6d QShareDataPointer causes a crash upon start on 32bit Qt5 Windows. This is a temporary fix in order to release v4.4.1. --- src/base/digest32.h | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/base/digest32.h b/src/base/digest32.h index 1c100d1ee..2241ef691 100644 --- a/src/base/digest32.h +++ b/src/base/digest32.h @@ -32,8 +32,6 @@ #include #include -#include -#include #include template @@ -45,11 +43,11 @@ public: Digest32() = default; Digest32(const UnderlyingType &nativeDigest) + : m_valid {true} + , m_nativeDigest {nativeDigest} { - m_dataPtr->valid = true; - m_dataPtr->nativeDigest = nativeDigest; const QByteArray raw = QByteArray::fromRawData(nativeDigest.data(), length()); - m_dataPtr->hashString = QString::fromLatin1(raw.toHex()); + m_hashString = QString::fromLatin1(raw.toHex()); } static constexpr int length() @@ -59,12 +57,12 @@ public: bool isValid() const { - return m_dataPtr->valid; + return m_valid; } operator UnderlyingType() const { - return m_dataPtr->nativeDigest; + return m_nativeDigest; } static Digest32 fromString(const QString &digestString) @@ -77,27 +75,22 @@ public: return {}; Digest32 result; - result.m_dataPtr->valid = true; - result.m_dataPtr->hashString = digestString; - result.m_dataPtr->nativeDigest.assign(raw.constData()); + result.m_valid = true; + result.m_hashString = digestString; + result.m_nativeDigest.assign(raw.constData()); return result; } QString toString() const { - return m_dataPtr->hashString; + return m_hashString; } private: - struct Data : public QSharedData - { - bool valid = false; - UnderlyingType nativeDigest; - QString hashString; - }; - - QSharedDataPointer m_dataPtr {new Data}; + bool m_valid = false; + UnderlyingType m_nativeDigest; + QString m_hashString; }; template