diff -r 3b1da2848fc7 -r d3bac044e0f0 src/corelib/codecs/qutfcodec.cpp --- a/src/corelib/codecs/qutfcodec.cpp Fri Feb 19 23:40:16 2010 +0200 +++ b/src/corelib/codecs/qutfcodec.cpp Fri Mar 12 15:46:37 2010 +0200 @@ -326,11 +326,11 @@ ch.setCell(*chars++); } if (!headerdone) { + headerdone = true; if (endian == DetectEndianness) { - if (ch == QChar::ByteOrderSwapped && endian != BigEndianness) { + if (ch == QChar::ByteOrderSwapped) { endian = LittleEndianness; - } else if (ch == QChar::ByteOrderMark && endian != LittleEndianness) { - // ignore BOM + } else if (ch == QChar::ByteOrderMark) { endian = BigEndianness; } else { if (QSysInfo::ByteOrder == QSysInfo::BigEndian) { @@ -344,7 +344,6 @@ } else if (ch != QChar::ByteOrderMark) { *qch++ = ch; } - headerdone = true; } else { *qch++ = ch; }