From bca7486082446a2d910754494d8d16ee67dff9fd Mon Sep 17 00:00:00 2001 From: klayoutmatthias Date: Tue, 26 Jul 2022 21:02:48 +0200 Subject: [PATCH] [Consider merging] object lifetime problem with QLatin1String and GSI fixed --- src/gsi/gsi/gsiSerialisation.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gsi/gsi/gsiSerialisation.h b/src/gsi/gsi/gsiSerialisation.h index 6feb7d8cf..4b89dfc62 100644 --- a/src/gsi/gsi/gsiSerialisation.h +++ b/src/gsi/gsi/gsiSerialisation.h @@ -1036,11 +1036,12 @@ public: return m_s_utf8.constData (); } - virtual void set (const char *c_str, size_t s, tl::Heap &) + virtual void set (const char *c_str, size_t s, tl::Heap &heap) { if (! m_is_const) { - m_latin1_holder = QString::fromUtf8 (c_str, int (s)).toLatin1 (); - *mp_s = QLatin1String (m_latin1_holder.constData (), m_latin1_holder.size ()); + QByteArray *latin1_holder = new QByteArray (QString::fromUtf8 (c_str, int (s)).toLatin1 ()); + heap.push (latin1_holder); + *mp_s = QLatin1String (latin1_holder->constData (), latin1_holder->size ()); } } @@ -1048,7 +1049,6 @@ private: QLatin1String *mp_s; bool m_is_const; QLatin1String m_s; - QByteArray m_latin1_holder; mutable QByteArray m_s_utf8; };