From 66f4c1cf164bf506c2f23c8b3306a297087e9266 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 7 Jul 2023 17:07:43 +0300 Subject: [PATCH] gwenview: do not emit Document::saved() twice when the undo stack is clean Signed-off-by: Ivailo Monev --- gwenview/lib/document/document.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gwenview/lib/document/document.cpp b/gwenview/lib/document/document.cpp index 723485dd..0b2629a1 100644 --- a/gwenview/lib/document/document.cpp +++ b/gwenview/lib/document/document.cpp @@ -300,11 +300,15 @@ void Document::slotSaveResult(KJob* job) if (job->error()) { setErrorString(job->errorString()); } else { + const bool undoStackWasClean = d->mUndoStack.isClean(); d->mUndoStack.setClean(); SaveJob* saveJob = static_cast(job); d->mUrl = saveJob->newUrl(); d->mImageMetaInfoModel.setUrl(d->mUrl); - saved(saveJob->oldUrl(), d->mUrl); + if (undoStackWasClean) { + // if the undo stack changes saved() will be emitted + emit saved(saveJob->oldUrl(), d->mUrl); + } } } @@ -465,7 +469,7 @@ void Document::slotUndoIndexChanged() // If user just undid all his changes this does not really correspond // to a save, but it's similar enough as far as Document users are // concerned - saved(d->mUrl, d->mUrl); + emit saved(d->mUrl, d->mUrl); } else { modified(d->mUrl); } -- 2.11.0