Просмотр исходного кода

only perform mountpoint move and cleanup, if mountpoint is not a drive letter

Armin Schrenk 2 лет назад
Родитель
Сommit
28217b2de3
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/main/java/org/cryptomator/common/mount/Mounter.java

+ 2 - 2
src/main/java/org/cryptomator/common/mount/Mounter.java

@@ -81,6 +81,7 @@ public class Mounter {
 			var canMountToDriveLetter = service.hasCapability(MOUNT_AS_DRIVE_LETTER);
 			var canMountToParent = service.hasCapability(MOUNT_WITHIN_EXISTING_PARENT);
 			var canMountToDir = service.hasCapability(MOUNT_TO_EXISTING_DIR);
+			var mpIsDriveLetter = userChosenMountPoint.toString().matches("[A-Z]:\\\\");
 
 			if (userChosenMountPoint == null) {
 				if (service.hasCapability(MOUNT_TO_SYSTEM_CHOSEN_PATH)) {
@@ -96,7 +97,7 @@ public class Mounter {
 					builder.setMountpoint(mountPoint);
 				}
 			} else {
-				if (canMountToParent && !canMountToDir) {
+				if (!mpIsDriveLetter && canMountToParent && !canMountToDir) {
 					MountWithinParentUtil.prepareParentNoMountPoint(userChosenMountPoint);
 					cleanup = () -> {
 						MountWithinParentUtil.cleanup(userChosenMountPoint);
@@ -105,7 +106,6 @@ public class Mounter {
 				try {
 					builder.setMountpoint(userChosenMountPoint);
 				} catch (IllegalArgumentException e) {
-					var mpIsDriveLetter = userChosenMountPoint.toString().matches("[A-Z]:\\\\");
 					var configNotSupported = (!canMountToDriveLetter && mpIsDriveLetter) || (!canMountToDir && !mpIsDriveLetter) || (!canMountToParent && !mpIsDriveLetter);
 					if (configNotSupported) {
 						throw new MountPointNotSupportedException(e.getMessage());