Merge #772: installer: do not reload last step on next message

a14f3afa2aab52f686c2bc0a445ca359282922ae installer: do not reload last step on next message (edouardparis)

Pull request description:

  If a user clicked very fast a lot on the Next button to trigger multiple Next messages, then the last
  step of the install reloads multiple time.
  This commit introduce a check that ignore next message if the step is the last one.

ACKs for top commit:
  darosior:
    utACK a14f3afa2aab52f686c2bc0a445ca359282922ae -- code makes sense and the patch was tested by Kevin

Tree-SHA512: a0afb3eb0793e7d294bdf1d355816ea175f3652f0ce3b018150714ce22425a4ec1f8795173ac241cc43ad2d6dadb3668f0e0d7b720804cc83ad54cd99d9a27af
This commit is contained in:
Antoine Poinsot 2023-11-01 16:13:10 +01:00
commit e0f491690b
No known key found for this signature in database
GPG Key ID: E13FC145CD3F4304

View File

@ -106,6 +106,10 @@ impl Installer {
if current_step.apply(&mut self.context) { if current_step.apply(&mut self.context) {
if self.current < self.steps.len() - 1 { if self.current < self.steps.len() - 1 {
self.current += 1; self.current += 1;
} else {
// The step is already the last current step.
// No need to reload the current step.
return Command::none();
} }
// skip the step according to the current context. // skip the step according to the current context.
while self while self