JNI: avoid detach attempt when populating an uninitialized QString

QString::data on a non-const string will needlessly try to detach.
Avoid that by accessing the raw data pointer.

Addresses header review comment.

Change-Id: I89b4d3451cda517e5c5ca08173510b3529ce73aa
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit bf2491acc74528004af8d5f4caf50e88fcb86f89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Volker Hilsheimer 2025-01-08 12:47:11 +01:00 committed by Qt Cherry-pick Bot
parent 30e7ce0fc1
commit 59420d3a0b

View File

@ -27,7 +27,7 @@ static inline QString toQString(jstring string, JNIEnv *env)
Q_ASSERT(string);
const jsize length = env->GetStringLength(string);
QString res(length, Qt::Uninitialized);
env->GetStringRegion(string, 0, length, reinterpret_cast<jchar *>(res.data()));
env->GetStringRegion(string, 0, length, reinterpret_cast<jchar *>(res.data_ptr().data()));
return res;
}
} // namespace Detail