From 6dc80508b1c0f431007f8a8c947c152ec00c3d15 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期一, 08 九月 2025 09:24:05 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/CMaster.cpp |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index f88f104..405eca3 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -767,6 +767,13 @@
 						&& pLoadPorts[s]->getPortStatus() == PORT_INUSE) {
 						m_pActiveRobotTask = createTransferTask(pLoadPorts[s], pAligner, primaryType, secondaryType, 1, m_bJobMode);
 						if (m_pActiveRobotTask != nullptr) {
+							CGlass* pGlass = (CGlass*)m_pActiveRobotTask->getContext();
+							if (pGlass->getBuddy() != nullptr) {
+								delete m_pActiveRobotTask;
+								m_pActiveRobotTask = nullptr;
+								continue;
+							}
+
 							pEFEM->setContext(m_pActiveRobotTask->getContext());
 							goto PORT_GET;
 						}
@@ -987,6 +994,12 @@
 						m_pActiveRobotTask = createTransferTask(pLoadPorts[s], pAligner, primaryType, secondaryType, m_bJobMode);
 						if (m_pActiveRobotTask != nullptr) {
 							CGlass* pGlass = (CGlass*)m_pActiveRobotTask->getContext();
+							if (pGlass->getBuddy() != nullptr) {
+								delete m_pActiveRobotTask;
+								m_pActiveRobotTask = nullptr;
+								continue;
+							}
+
 							pEFEM->setContext(pGlass);
 							pGlass->start();
 							bool bMoved = glassFromQueueToInPorcess(pGlass);
@@ -2493,7 +2506,9 @@
 			m_pControlJob = new CControlJob();
 			if (!CControlJob::deserialize(ifs, *m_pControlJob)) return false;
 		}
-
+		else {
+			return false;
+		}
 
 		// 读取 ProcessJob 列表
 		uint32_t count = 0;

--
Gitblit v1.9.3