From fad7af77407ff1d1698b95fe8637ffeb58698a32 Mon Sep 17 00:00:00 2001 From: Quantum Date: Sat, 8 Nov 2025 00:59:49 -0500 Subject: [PATCH] [idd] helper: fix crash when saving invalid values --- idd/LGIddHelper/CConfigWindow.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/idd/LGIddHelper/CConfigWindow.cpp b/idd/LGIddHelper/CConfigWindow.cpp index 9e7d522d..ae6ffd1c 100644 --- a/idd/LGIddHelper/CConfigWindow.cpp +++ b/idd/LGIddHelper/CConfigWindow.cpp @@ -178,9 +178,17 @@ LRESULT CConfigWindow::onCommand(WORD id, WORD code, HWND hwnd) int index = m_modeBox->getData(sel); auto &mode = index >= 0 ? (*m_modes)[index] : m_modes->emplace_back(); - mode.width = m_modeWidth->getNumericValue(); - mode.height = m_modeHeight->getNumericValue(); - mode.refresh = m_modeRefresh->getNumericValue(); + + try + { + mode.width = m_modeWidth->getNumericValue(); + mode.height = m_modeHeight->getNumericValue(); + mode.refresh = m_modeRefresh->getNumericValue(); + } + catch (std::logic_error&) + { + return 0; + } if (index >= 0) m_modeBox->delItem(sel);