diff --git a/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java b/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java index a2cceaac..ec6a92ce 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/QRScanDialog.java @@ -188,7 +188,8 @@ public class QRScanDialog extends Dialog { } }); webcamDeviceProperty.addListener((_, _, newValue) -> { - Config.get().setWebcamDevice(newValue.getUniqueId()); + Config.get().setWebcamDevice(newValue.getName()); + Config.get().setWebcamDeviceId(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 2f4fcd60..45e77ca6 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/WebcamService.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/WebcamService.java @@ -144,7 +144,7 @@ public class WebcamService extends ScheduledService { } } else if(Config.get().getWebcamDevice() != null) { for(CaptureDevice webcam : availableDevices) { - if(webcam.getUniqueId().equals(Config.get().getWebcamDevice())) { + if(webcam.getUniqueId().equals(Config.get().getWebcamDeviceId())) { selectedDevice = webcam; break; } diff --git a/src/main/java/com/sparrowwallet/sparrow/io/Config.java b/src/main/java/com/sparrowwallet/sparrow/io/Config.java index 0e587b26..e328db62 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/Config.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/Config.java @@ -63,6 +63,7 @@ public class Config { private boolean mirrorCapture = true; private boolean useZbar = true; private String webcamDevice; + private String webcamDeviceId; private ServerType serverType; private Server publicElectrumServer; private Server coreServer; @@ -437,6 +438,15 @@ public class Config { flush(); } + public String getWebcamDeviceId() { + return webcamDeviceId; + } + + public void setWebcamDeviceId(String webcamDeviceId) { + this.webcamDeviceId = webcamDeviceId; + flush(); + } + public ServerType getServerType() { return serverType; }