From f72035210c733cb683d4572ba942878f58da15e6 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 25 May 2020 13:51:14 +0200 Subject: [PATCH] fixing error where vault stays in processing state if unlock is canceld via system close button (window decoration bar) --- .../java/org/cryptomator/ui/unlock/UnlockController.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java b/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java index 7e887ced4..95a201a83 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java @@ -74,6 +74,7 @@ public class UnlockController implements FxController { this.unlockButtonContentDisplay = Bindings.createObjectBinding(this::getUnlockButtonContentDisplay, passwordEntryLock.awaitingInteraction()); this.userInteractionDisabled = passwordEntryLock.awaitingInteraction().not(); this.unlockButtonDisabled = new SimpleBooleanProperty(); + this.window.setOnCloseRequest(windowEvent -> close()); } @FXML @@ -123,13 +124,19 @@ public class UnlockController implements FxController { passwordEntryLock.awaitingInteraction().addListener(observable -> stopUnlockAnimation()); } + @FXML public void cancel() { LOG.debug("Unlock canceled by user."); + close(); + } + + private void close() { window.close(); passwordEntryLock.interacted(UnlockModule.PasswordEntry.CANCELED); } + @FXML public void unlock() { LOG.trace("UnlockController.unlock()");