changing from Ext.Array.each to a for loop and changing the return to a 'break', resulted in exiting the wrong loop (previously the outer, now the inner) resulting in wrongly looping through all controllers instead of only until we found a match
using a label and labeled break, we can break the outer loop Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- www/manager6/form/ControllerSelector.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/www/manager6/form/ControllerSelector.js b/www/manager6/form/ControllerSelector.js index 8ba46f17..89ecdf4a 100644 --- a/www/manager6/form/ControllerSelector.js +++ b/www/manager6/form/ControllerSelector.js @@ -54,13 +54,14 @@ Ext.define('PVE.form.ControllerSelector', { clist = me.sortByPreviousUsage(me.vmconfig, clist); } +clist_loop: for (const controller of clist) { bussel.setValue(controller); for (let i = 0; i < PVE.Utils.diskControllerMaxIDs[controller]; i++) { let confid = controller + i.toString(); if (!Ext.isDefined(me.vmconfig[confid])) { deviceid.setValue(i); - break; + break clist_loop; // we found the desired controller/id combo } } } -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel