diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index fcf1547a229..5f554c93c04 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -131,8 +131,6 @@ GdbEngine::GdbEngine() setObjectName("GdbEngine"); setDebuggerName("GDB"); - m_inferiorOutputCodec = TextCodec::codecForLocale(); - m_commandTimer.setSingleShot(true); connect(&m_commandTimer, &QTimer::timeout, this, &GdbEngine::commandTimeout); @@ -617,9 +615,7 @@ void GdbEngine::readGdbStandardError() void GdbEngine::readDebuggeeOutput(const QByteArray &ba) { - const QString msg = m_inferiorOutputCodec.toUnicode(ba.constData(), ba.size(), - &m_inferiorOutputCodecState); - + const QString msg = m_inferiorOutputDecoder.decode(ba); if (msg.startsWith("&\"") && isMostlyHarmlessMessage(QStringView{msg}.mid(2, msg.size() - 4))) showMessage("Mostly harmless terminal warning suppressed.", LogWarning); else diff --git a/src/plugins/debugger/gdb/gdbengine.h b/src/plugins/debugger/gdb/gdbengine.h index a217f2885fc..c9ccb62b575 100644 --- a/src/plugins/debugger/gdb/gdbengine.h +++ b/src/plugins/debugger/gdb/gdbengine.h @@ -91,8 +91,7 @@ private: ////////// General Interface ////////// void readGdbStandardError(); void readDebuggeeOutput(const QByteArray &ba); - Utils::TextCodec m_inferiorOutputCodec; - Utils::TextCodec::ConverterState m_inferiorOutputCodecState; + QStringDecoder m_inferiorOutputDecoder{Utils::TextCodec::encodingForLocale().name()}; QString m_inbuffer; bool m_busy = false;