From 6ac7ae24a3b70b2db42b737023ba042079cc844d Mon Sep 17 00:00:00 2001 From: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:26:37 +0200 Subject: [PATCH] Block undo and redo while a background job runs (#16015) * Block undo and redo while a background job runs A job is queued against the model as it stands and hands its result back when it finishes, so undoing underneath it leaves that result landing on geometry it was never computed for. Undo and redo now wait for the job and say so, and can_undo()/can_redo() report the same, so the toolbar and the menu items stay in step. * Say what to do about the running operation, not just that it blocks Review feedback: "Stop it first" is the only way out the old text offered, and stopping is rarely what the user wants. Waiting for the operation to finish works just as well, so the notification now names both. --- src/slic3r/GUI/Plater.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index f557ee9427..51a0c85909 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -15076,7 +15076,8 @@ bool Plater::priv::undo_redo_blocked_by_job() return false; notification_manager->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::RegularNotificationLevel, - _u8L("Cannot undo or redo while an operation is running. Stop it first.")); + _u8L("Cannot undo or redo while an operation is running. Stop the operation, or wait " + "for it to finish and then retry.")); return true; }