summaryrefslogtreecommitdiffstats
path: root/src/corelib/text/qstringconverter.cpp
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2023-10-30 16:51:58 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2023-11-06 18:23:19 +0100
commit10f5e4f8099136bce59f5f859df89c5b2e695fc9 (patch)
treea806f7babd2c4729a417bb3643640a229bbcd826 /src/corelib/text/qstringconverter.cpp
parent127e6cc9077bb7ba328f5b71c0748bd0ef71508d (diff)
QLocal8Bit::convertToUnicode[win]: Support stateless flag
By just setting state to nullptr. Pick-to: 6.6 6.5 Task-number: QTBUG-105105 Change-Id: I6b4f8fe39f1ba51dcfaf98ce7e42c2acd4c4cf98 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/text/qstringconverter.cpp')
-rw-r--r--src/corelib/text/qstringconverter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/text/qstringconverter.cpp b/src/corelib/text/qstringconverter.cpp
index 8a6087390f..6686375a85 100644
--- a/src/corelib/text/qstringconverter.cpp
+++ b/src/corelib/text/qstringconverter.cpp
@@ -1271,6 +1271,9 @@ QString QLocal8Bit::convertToUnicode_sys(QByteArrayView in, quint32 codePage,
const char *mb = in.data();
int mblen = length;
+ if (state && state->flags & QStringConverter::Flag::Stateless)
+ state = nullptr;
+
if (!mb || !mblen)
return QString();
@@ -1328,7 +1331,7 @@ QString QLocal8Bit::convertToUnicode_sys(QByteArrayView in, quint32 codePage,
}
Q_ASSERT(mblen > 0);
- Q_ASSERT(state->remainingChars == 0);
+ Q_ASSERT(!state || state->remainingChars == 0);
while (!(len = MultiByteToWideChar(codePage, MB_ERR_INVALID_CHARS, mb, mblen, out,
int(outlen)))) {