diff --git a/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java b/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java index 608468c7..a2cceaac 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java @@ -188,7 +188,7 @@ public class QRScanDialog extends Dialog { } }); webcamDeviceProperty.addListener((_, _, newValue) -> { - Config.get().setWebcamDevice(newValue.getName()); + Config.get().setWebcamDevice(newValue.getUniqueId()); if(!Objects.equals(webcamService.getDevice(), newValue)) { webcamService.cancel(); } diff --git a/src/main/java/com/sparrowwallet/sparrow/control/WebcamService.java b/src/main/java/com/sparrowwallet/sparrow/control/WebcamService.java index dea223a1..2f4fcd60 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/WebcamService.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/WebcamService.java @@ -144,6 +144,10 @@ public class WebcamService extends ScheduledService { } } else if(Config.get().getWebcamDevice() != null) { for(CaptureDevice webcam : availableDevices) { + if(webcam.getUniqueId().equals(Config.get().getWebcamDevice())) { + selectedDevice = webcam; + break; + } if(webcam.getName().equals(Config.get().getWebcamDevice())) { selectedDevice = webcam; break;