From b7257dfc7a6dfaab5a143ae4bb9e38ce9b99c3db Mon Sep 17 00:00:00 2001 From: NohDoyeon241104 Date: Tue, 28 Jul 2026 17:09:41 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20MoveScanner=20SelectedIndex=20=EB=B2=94?= =?UTF-8?q?=EC=9C=84=20=EA=B0=80=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 그리드 빈 영역/헤더 더블클릭, Apply 전, Esc 선택해제 등으로 SelectedIndex가 -1이거나 VisionCorrectionList 범위를 벗어난 상태에서 MoveScanner가 호출되면 인덱스 예외가 발생했다. 진입부에서 범위를 검사해 무시하도록 처리. --- .../Views/Calibration/UCScannerCalibrationViewModel.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/WeldingComponents/WeldingCommon/Views/Calibration/UCScannerCalibrationViewModel.cs b/WeldingComponents/WeldingCommon/Views/Calibration/UCScannerCalibrationViewModel.cs index 1bd6968..f9cefba 100644 --- a/WeldingComponents/WeldingCommon/Views/Calibration/UCScannerCalibrationViewModel.cs +++ b/WeldingComponents/WeldingCommon/Views/Calibration/UCScannerCalibrationViewModel.cs @@ -535,6 +535,9 @@ namespace WeldingCommon.Views public void MoveScanner() { + // 선택된 셀이 없거나(-1) 리스트 범위를 벗어난 인덱스면 무시 (그리드 빈영역/헤더 더블클릭, Apply 전, Esc 선택해제 등) + if (SelectedIndex < 0 || SelectedIndex >= VisionCorrectionList.Count) return; + double scannerPosX = VisionCorrectionList[SelectedIndex].MasterX; double scannerPosY = VisionCorrectionList[SelectedIndex].MasterY; var res = MessageUtil.ShowYesNoMessageDialog("Scanner", $"Move Scanner to Postion(X : {scannerPosX}, Y: {scannerPosY}) of Selected Cell?");