From 04e73a66bcbd5f36b384d27695d6582bf5ae4def Mon Sep 17 00:00:00 2001 From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com> Date: Fri, 15 Jan 2016 17:52:10 -0500 Subject: [PATCH] TextRecording: do not save if nothing changed Prevent an unnecessary write to disk if the setData function didn't change anything. Change-Id: I3e101afddd29cc1117e8b3f65a63c8b781a70ab6 Tuleap: #203 --- src/media/textrecording.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/media/textrecording.cpp b/src/media/textrecording.cpp index c4f04a39..da7317bd 100644 --- a/src/media/textrecording.cpp +++ b/src/media/textrecording.cpp @@ -697,6 +697,8 @@ bool InstantMessagingModel::setData(const QModelIndex& idx, const QVariant &valu if (idx.column() || !idx.isValid()) return false; + bool changed = false; + ::TextMessageNode* n = m_pRecording->d_ptr->m_lNodes[idx.row()]; switch (role) { case (int)Media::TextRecording::Role::IsRead : @@ -707,6 +709,7 @@ bool InstantMessagingModel::setData(const QModelIndex& idx, const QVariant &valu emit n->m_pContactMethod->changed(); } emit dataChanged(idx,idx); + changed = true; } break; default: @@ -714,7 +717,8 @@ bool InstantMessagingModel::setData(const QModelIndex& idx, const QVariant &valu } //Save the conversation - m_pRecording->save(); + if (changed) + m_pRecording->save(); return true; } -- GitLab