https://bugs.kde.org/show_bug.cgi?id=505879

--- Comment #2 from nyanpasu64 <[email protected]> ---
I checked EncodedDataStream on the 1.12 branch (I couldn't build master on
Fedora because master depends on Boost newer than shipped with Fedora). The bug
is that EncodedDataStream::readChar() assumes that
QStringDecoder::operator()(const QByteArray &ba) will only return 1 UTF-16
character to s. But non-BMP characters are converted into two UTF-16 QChar
characters, you only take the first, write it into the QChar out-parameter, and
return the number of file-encoding chars consumed.

You'd probably have to refactor this part of the code to either return a
Unicode/UTF-32 codepoint (unsigned/int), write to a QChar[2] (set the second to
0 if unused) or resize a vector<QChar>, or something else. I don't know if
there are more bugs revealed once this is fixed.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to