Am 26.04.24 um 09:17 schrieb Dominik Csapak:
> when editing the pci mapping, we set the nodename of the pciselector
> to the selected node. At the same time we disable and hide the node
> selector, but it still changes it's value to the 'first' node
> (alphabetically sorted) and that triggers a change event.
> 

It's the first node that's not in the disallowedNodes AFAICT.

> To prevent that we accidentally set the node of the pciselector
> too, we need to check here if the field is disabled.
> 

I wondered why the USB mappings don't suffer the same issue though. The
nodeChange() callback gets called with the correct value when editing
the mapping for a specific node, even though the node selector
definition and setting of disallowedNodes is the same as for the PCI
mappings.

Looking at Javascript backtraces, it seems like there might be some kind
of race going on (whether the me.getStore().load() for
PVE.form.NodeSelector finishes early or not), but not clue why it
happens for one, but not the other.

That said, adding a similar condition for the USB mappings would still
be good IMHO.

> Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>

Reviewed-by: Fiona Ebner <f.eb...@proxmox.com>

> ---
>  www/manager6/window/PCIMapEdit.js | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/www/manager6/window/PCIMapEdit.js 
> b/www/manager6/window/PCIMapEdit.js
> index d43f04eb..faf58255 100644
> --- a/www/manager6/window/PCIMapEdit.js
> +++ b/www/manager6/window/PCIMapEdit.js
> @@ -126,8 +126,10 @@ Ext.define('PVE.window.PCIMapEditWindow', {
>           this.lookup('pciselector').setMdev(value);
>       },
>  
> -     nodeChange: function(_field, value) {
> -         this.lookup('pciselector').setNodename(value);
> +     nodeChange: function(field, value) {
> +         if (!field.isDisabled()) {
> +             this.lookup('pciselector').setNodename(value);
> +         }
>       },
>  
>       pciChange: function(_field, value) {


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to