From 44f2f7adddf93beee9533e483483c6247cead255 Mon Sep 17 00:00:00 2001 From: Michael McMaster Date: Mon, 24 Apr 2017 21:33:05 +1000 Subject: [PATCH] Fix size inputs in scsi2sd-util --- src/scsi2sd-util6/TargetPanel.cc | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/scsi2sd-util6/TargetPanel.cc b/src/scsi2sd-util6/TargetPanel.cc index fb8b07d2..826da00c 100755 --- a/src/scsi2sd-util6/TargetPanel.cc +++ b/src/scsi2sd-util6/TargetPanel.cc @@ -310,10 +310,6 @@ TargetPanel::evaluate() switch (myDeviceTypeCtrl->GetSelection()) { - case S2S_CFG_OPTICAL: - mySectorSizeCtrl->ChangeValue("2048"); - mySectorSizeCtrl->Enable(true); // Enable override - break; case S2S_CFG_FLOPPY_14MB: mySectorSizeCtrl->ChangeValue("512"); mySectorSizeCtrl->Enable(false); @@ -321,9 +317,9 @@ TargetPanel::evaluate() myNumSectorCtrl->Enable(false); mySizeUnitCtrl->Enable(false); mySizeCtrl->Enable(false); + evaluateSize(); break; }; - evaluateSize(); if (myAutoStartSectorCtrl->IsChecked()) { @@ -420,6 +416,16 @@ TargetPanel::evaluate() template void TargetPanel::onInput(EvtType& event) { + if (event.GetId() == ID_deviceTypeCtrl) + { + switch (myDeviceTypeCtrl->GetSelection()) + { + case S2S_CFG_OPTICAL: + mySectorSizeCtrl->ChangeValue("2048"); + evaluateSize(); + break; + } + } wxCommandEvent changeEvent(ConfigChangedEvent); wxPostEvent(myParent, changeEvent); } @@ -429,11 +435,18 @@ TargetPanel::onSizeInput(wxCommandEvent& event) { if (event.GetId() != ID_numSectorCtrl) { - std::stringstream ss; - ss << convertUnitsToSectors().first; - myNumSectorCtrl->ChangeValue(ss.str()); + std::pair sec = convertUnitsToSectors(); + if (sec.second) + { + std::stringstream ss; + ss << sec.first; + myNumSectorCtrl->ChangeValue(ss.str()); + } + } + if (event.GetId() != ID_sizeCtrl) + { + evaluateSize(); } - evaluateSize(); onInput(event); // propagate } -- 2.38.5