diff --git a/mythtv/libs/libmythui/mythuitext.cpp b/mythtv/libs/libmythui/mythuitext.cpp index 074fff0fc06..0c18fd934ce 100644 --- a/mythtv/libs/libmythui/mythuitext.cpp +++ b/mythtv/libs/libmythui/mythuitext.cpp @@ -128,6 +128,7 @@ void MythUIText::Reset() void MythUIText::SetText(const QString &text) { QString newtext = text; + newtext.detach(); if (!m_Layouts.isEmpty() && newtext == m_Message) return; @@ -203,7 +204,9 @@ void MythUIText::SetTextFromMap(QHash &map) QString MythUIText::GetText(void) const { - return m_Message; + QString ret = m_Message; + ret.detach(); + return ret; } QString MythUIText::GetDefaultText(void) const diff --git a/mythtv/libs/libmythui/mythuitextedit.cpp b/mythtv/libs/libmythui/mythuitextedit.cpp index 1bd65684178..4e00f97038e 100644 --- a/mythtv/libs/libmythui/mythuitextedit.cpp +++ b/mythtv/libs/libmythui/mythuitextedit.cpp @@ -219,6 +219,7 @@ void MythUITextEdit::SetText(const QString &text, bool moveCursor) return; m_Message = text; + m_Message.detach(); if (m_isPassword) { @@ -236,6 +237,13 @@ void MythUITextEdit::SetText(const QString &text, bool moveCursor) emit valueChanged(); } +QString MythUITextEdit::GetText(void) const +{ + QString ret = m_Message; + ret.detach(); + return ret; +} + void MythUITextEdit::InsertText(const QString &text) { if (!m_Text) diff --git a/mythtv/libs/libmythui/mythuitextedit.h b/mythtv/libs/libmythui/mythuitextedit.h index aed23448ee5..1b1c21db5fd 100644 --- a/mythtv/libs/libmythui/mythuitextedit.h +++ b/mythtv/libs/libmythui/mythuitextedit.h @@ -43,7 +43,7 @@ class MUI_PUBLIC MythUITextEdit : public MythUIType, public StorageUser void SetText(const QString &text, bool moveCursor = true); void InsertText(const QString &text); - QString GetText(void) const { return m_Message; } + QString GetText(void) const; void SetFilter(InputFilter filter) { m_Filter = filter; } void SetPassword(bool isPassword) { m_isPassword = isPassword; }