From 853ca0ccebffab6a52c212def634c00241310e5f Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 6 Dec 2024 17:30:39 +0100 Subject: [PATCH] Debugger: Use internal decoding of Utils::Process for gdb output Change-Id: I1c7ec589370228588103909cad88ed51e897146d Reviewed-by: Marcus Tillmanns --- src/plugins/debugger/gdb/gdbengine.cpp | 6 ++---- src/plugins/debugger/gdb/gdbengine.h | 4 +--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index a3b16abdd60..1efb8e5081d 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -131,7 +131,6 @@ GdbEngine::GdbEngine() setObjectName("GdbEngine"); setDebuggerName("GDB"); - m_gdbOutputCodec = QTextCodec::codecForLocale(); m_inferiorOutputCodec = QTextCodec::codecForLocale(); m_commandTimer.setSingleShot(true); @@ -632,7 +631,7 @@ void GdbEngine::readGdbStandardOutput() int newstart = 0; int scan = m_inbuffer.size(); - QByteArray out = m_gdbProc.readAllRawStandardOutput(); + QString out = m_gdbProc.readAllStandardOutput(); m_inbuffer.append(out); // This can trigger when a dialog starts a nested event loop. @@ -657,8 +656,7 @@ void GdbEngine::readGdbStandardOutput() } m_busy = true; - QString msg = m_gdbOutputCodec->toUnicode(m_inbuffer.constData() + start, end - start, - &m_gdbOutputCodecState); + QString msg = m_inbuffer.mid(start, end - start); handleResponse(msg); m_busy = false; diff --git a/src/plugins/debugger/gdb/gdbengine.h b/src/plugins/debugger/gdb/gdbengine.h index 33eec793a40..4beaaf29453 100644 --- a/src/plugins/debugger/gdb/gdbengine.h +++ b/src/plugins/debugger/gdb/gdbengine.h @@ -92,12 +92,10 @@ private: ////////// General Interface ////////// void readGdbStandardError(); void readDebuggeeOutput(const QByteArray &ba); - QTextCodec *m_gdbOutputCodec; - QTextCodec::ConverterState m_gdbOutputCodecState; QTextCodec *m_inferiorOutputCodec; QTextCodec::ConverterState m_inferiorOutputCodecState; - QByteArray m_inbuffer; + QString m_inbuffer; bool m_busy = false; // Name of the convenience variable containing the last