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.
This commit is contained in:
ExPikaPaka
2026-10-09 19:26:37 +08:00
committed by GitHub
parent d55e32fed4
commit 6ac7ae24a3
+2 -1
View File
@@ -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;
}