Debugger: Use QStringDecoder instead of (deprecated) QTextCodec

Fixes: QTCREATORBUG-33063
Change-Id: I0ea186ab0d2f1a149813c752d0953628c84ee8b4
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2025-06-12 08:13:49 +02:00
parent 71d2e46167
commit e05dacfb07
2 changed files with 2 additions and 7 deletions

View File

@@ -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

View File

@@ -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;