USB3 checkbox was always checked if the device / port supports USB3 even though USB3 was disabled on purpose.
The behaviour now is that for an existing configuration the checkbox reflects what is set. When selecting a device or port that is not the configured one the checkbox reflects the USB3 support of the selected device / port. Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> --- What started out to fix the problem discussed in the previous patch series [0] turned into a refactoring of the controller. I hope I got the regexes right. Since we do not disable the USB3 checkbox anymore I am not sure why we kept the whole if else clause around `savedVal`. [0]: https://pve.proxmox.com/pipermail/pve-devel/2019-September/039111.html www/manager6/qemu/USBEdit.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/www/manager6/qemu/USBEdit.js b/www/manager6/qemu/USBEdit.js index f41c3d21..73df7b30 100644 --- a/www/manager6/qemu/USBEdit.js +++ b/www/manager6/qemu/USBEdit.js @@ -17,19 +17,19 @@ Ext.define('PVE.qemu.USBInputPanel', { change: function(field, newValue, oldValue) { var usb3field = this.lookupReference('usb3'); var usbval = field.getUSBValue(); - var dev_is_usb3 = /usb3=1/.test(usbval); - - if (dev_is_usb3) { - usb3field.savedVal = usb3field.getValue(); - usb3field.setValue(true); + var confid = this.view.confid; + var vmconfig = this.view.vmconfig[confid]; + var dev_is_usb3 = false; + var hostregex = /host=([^,]*)/; + + if (/^host/.test(vmconfig) && + vmconfig.match(hostregex)[1] === usbval.match(hostregex)[1]) { + dev_is_usb3 = /usb3=1/.test(vmconfig); } else { - if (usb3field.savedVal !== undefined) { - usb3field.setValue(usb3field.savedVal); - } else { - usb3field.setValue(usb3field.originalValue); - } - usb3field.setDisabled(false); + dev_is_usb3 = /usb3=1/.test(usbval); } + + usb3field.setValue(dev_is_usb3); } } } -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel