diff options
Diffstat (limited to 'src/corelib/text/qstringconverter.cpp')
-rw-r--r-- | src/corelib/text/qstringconverter.cpp | 5 |
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)))) { |