[pve-devel] [PATCH manager 2/5] ui/machine: fix Windows pinning and detect "pc" as non-pinned
Stefan Reiter
s.reiter at proxmox.com
Mon Mar 8 11:01:48 CET 2021
We need to detect "isWindows" before splitting a pinned version into
.version/.machine, otherwise .machine will always be "pc" or "q35", and
the check in "isWindows" will succeed even for pinned versions. This
resulted in "5.1" being shown even if a different version has been set
for a Windows machine.
Also alias "pc" directly to "__default__", as they have the same
meaning, but "pc" is not a valid entry in the "machine" combobox,
leading to an invalid state when editing the (valid) configuration of
"machine: pc" on a VM.
Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
---
www/manager6/qemu/MachineEdit.js | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/www/manager6/qemu/MachineEdit.js b/www/manager6/qemu/MachineEdit.js
index ec391513..9dcdb012 100644
--- a/www/manager6/qemu/MachineEdit.js
+++ b/www/manager6/qemu/MachineEdit.js
@@ -47,7 +47,17 @@ Ext.define('PVE.qemu.MachineInputPanel', {
let me = this;
me.isWindows = values.isWindows;
+ if (values.machine === 'pc') {
+ values.machine = '__default__';
+ }
+ if (me.isWindows) {
+ if (values.machine === '__default__') {
+ values.version = 'pc-i440fx-5.1';
+ } else if (values.machine === 'q35') {
+ values.version = 'pc-q35-5.1';
+ }
+ }
if (values.machine !== '__default__' && values.machine !== 'q35') {
values.version = values.machine;
values.machine = values.version.match(/q35/) ? 'q35' : '__default__';
@@ -55,13 +65,6 @@ Ext.define('PVE.qemu.MachineInputPanel', {
// avoid hiding a pinned version
me.setAdvancedVisible(true);
}
- if (me.isWindows) {
- if (values.machine === '__default__' || values.machine === 'pc') {
- values.version = 'pc-i440fx-5.1';
- } else if (values.machine === 'q35') {
- values.version = 'pc-q35-5.1';
- }
- }
this.callParent(arguments);
},
--
2.20.1
More information about the pve-devel
mailing list