From 9c01db3682d24d8219029d1fbcc5adaef1ce8b4e Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 10 七月 2025 17:25:53 +0800
Subject: [PATCH] 优化:修正 Notch 缺陷检测中 mask 膨胀次数与 offset 无限制问题,优化代码稳健性 - 限制 Offset 最大值为 50,防止因过大导致耗时过长或内存异常; - 限制 Dilate 膨胀次数不超过 50,避免异常耗时,超出时记录日志警告; - 修复内存释放遗漏,补充释放 pDilatedMaskImage,防止内存泄漏;

---
 EdgeInspector_App/Recipe/HardwareSettings.cpp |   39 +++++++++++++++++++++++++++++++++++----
 1 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/EdgeInspector_App/Recipe/HardwareSettings.cpp b/EdgeInspector_App/Recipe/HardwareSettings.cpp
index 46ce242..2a5f35c 100644
--- a/EdgeInspector_App/Recipe/HardwareSettings.cpp
+++ b/EdgeInspector_App/Recipe/HardwareSettings.cpp
@@ -1031,6 +1031,9 @@
 
 		m_bUse_SaveDebugImage = rhs.m_bUse_SaveDebugImage;
 
+		// ly,2025.07.10
+		m_bSaveResultByHour = rhs.m_bSaveResultByHour;
+
 		// ly,2025.07.07
 		m_bEnableAutoCopy = rhs.m_bEnableAutoCopy;
 		m_strCopyToolExePath = rhs.m_strCopyToolExePath;
@@ -1262,6 +1265,10 @@
 	else if((void *)&m_nSaveImageQuality == pValue)
 		str = _T("SAVEIMAGE_QUALITY");
 
+	// ly,2025.07.10
+	else if ((void*)&m_bSaveResultByHour == pValue)
+		str = _T("SAVE_RESULT_BY_HOUR");
+
 	// ly,2025.07.07
 	else if ((void*)&m_bEnableAutoCopy == pValue)
 		str = _T("ENABLE_AUTOCOPY");
@@ -1426,7 +1433,13 @@
 	BasicInfoFile.GetItemValue((TCHAR*)(LPCTSTR)str,nTemp);
 	m_bUse_SaveDebugImage = (BOOL) nTemp;
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	BasicInfoFile.GetItemValue((TCHAR*)(LPCTSTR)str, m_bSaveResultByHour, FALSE);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;
@@ -1600,7 +1613,13 @@
 	Register.GetItemValue((TCHAR*)(LPCTSTR)str,nTemp);
 	m_bUse_SaveDebugImage = (BOOL) nTemp;
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	Register.GetItemValue((TCHAR*)(LPCTSTR)str, m_bSaveResultByHour, FALSE);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;
@@ -1757,7 +1776,13 @@
 		return FALSE;
 	Register.SetItemValue((TCHAR*)(LPCTSTR)str,(int) m_bUse_SaveDebugImage);
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	Register.SetItemValue((TCHAR*)(LPCTSTR)str, (int)m_bSaveResultByHour);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;
@@ -1923,7 +1948,13 @@
 		return FALSE;
 	BasicInfoFile.SetItemValue((TCHAR*)(LPCTSTR)str,m_bUse_SaveDebugImage);
 
-	// ly.2025.07.07
+	// ly,2025.07.10
+	str = GetFileString((void*)&m_bSaveResultByHour);
+	if (str.IsEmpty() == TRUE)
+		return FALSE;
+	BasicInfoFile.SetItemValue((TCHAR*)(LPCTSTR)str, (int)m_bSaveResultByHour);
+
+	// ly,2025.07.07
 	str = GetFileString((void*)&m_bEnableAutoCopy);
 	if (str.IsEmpty() == TRUE)
 		return FALSE;

--
Gitblit v1.9.3