From b579e03bc81ff9e19fe4c430297a3d4a07e22244 Mon Sep 17 00:00:00 2001 From: infeo Date: Thu, 28 Jun 2018 16:55:00 +0200 Subject: [PATCH] workaround for the combination of windows + dokany + (automatic drive letter selection) --- .../java/org/cryptomator/ui/model/DokanyVolume.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java b/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java index 6d4a23163..792a62364 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java +++ b/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java @@ -1,6 +1,7 @@ package org.cryptomator.ui.model; import javax.inject.Inject; +import java.util.Iterator; import java.util.concurrent.ExecutorService; import org.cryptomator.common.settings.VaultSettings; @@ -39,8 +40,15 @@ public class DokanyVolume implements Volume { } else { //auto assign drive letter //TODO: can we assume the we have at least one free drive letter? - if (!windowsDriveLetters.getAvailableDriveLetters().isEmpty()) { - driveLetter = windowsDriveLetters.getAvailableDriveLetters().iterator().next(); + + //this is a temporary fix for 'A' being an invalid drive letter + if(!windowsDriveLetters.getAvailableDriveLetters().isEmpty()){ + Iterator winDriveLetterIt = windowsDriveLetters.getAvailableDriveLetters().iterator(); + do{ + driveLetter = winDriveLetterIt.next(); + }while (winDriveLetterIt.hasNext() && driveLetter == 65); +// if (!windowsDriveLetters.getAvailableDriveLetters().isEmpty()) { +// driveLetter = windowsDriveLetters.getAvailableDriveLetters().iterator().next(); } else { throw new VolumeException("No free drive letter available."); }