From 7a2b93fc78897095b5c0e9cf5b2125d61db93760 Mon Sep 17 00:00:00 2001 From: Rym Bouabid Date: Mon, 3 Feb 2025 17:00:19 +0100 Subject: [PATCH] ibus: Make address a QByteArray instead of a view in createConnection() When "address" is a QBAV, it points to line(QBAV) which points to lineArray(QBA), so its data will be overwitten after every read: while(file.readLineInto(&lineArray)) This amends f0aa391ef89a393221d77d5ad3c1616a4727f11a . Fixes: QTBUG-133445 Change-Id: Id23e726327529c44e205c4c0720af0dad42c175b Reviewed-by: Marc Mutz Reviewed-by: Liang Qi (cherry picked from commit 07eeb45d881bb0240e472167217912b08be44371) Reviewed-by: Qt Cherry-pick Bot --- .../platforminputcontexts/ibus/qibusplatforminputcontext.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp index d59a6689592..52da96f853b 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp @@ -774,7 +774,7 @@ void QIBusPlatformInputContextPrivate::createConnection() if (!file.open(QFile::ReadOnly)) return; - QByteArrayView address; + QByteArray address; int pid = -1; QByteArray lineArray; @@ -784,7 +784,7 @@ void QIBusPlatformInputContextPrivate::createConnection() continue; if (line.startsWith("IBUS_ADDRESS=")) - address = line.mid(sizeof("IBUS_ADDRESS=") - 1); + address = line.mid(sizeof("IBUS_ADDRESS=") - 1).toByteArray(); if (line.startsWith("IBUS_DAEMON_PID=")) pid = line.mid(sizeof("IBUS_DAEMON_PID=") - 1).toInt(); }