chenluhua1980
2026-01-24 fbc7719e6c3386418014b92c033d84a3c930e58b
1.搬出物料上限修改为1,且退出时释放内存;
已修改1个文件
17 ■■■■■ 文件已修改
SourceCode/Bond/Servo/CMaster.cpp 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMaster.cpp
@@ -119,6 +119,14 @@
            m_hEventDispatchThreadExit[1] = nullptr;
        }
        // 释放人工搬出缓冲区里的玻璃
        for (auto* pGlass : m_bufGlass) {
            if (pGlass != nullptr) {
                pGlass->release();
            }
        }
        m_bufGlass.clear();
        DeleteCriticalSection(&m_criticalSection);
    }
@@ -3551,6 +3559,15 @@
        if (pSlot == nullptr) return false;
        CGlass* pGlass = (CGlass*)pSlot->getContext();
        if (pGlass == nullptr) return false;
        // Buffer 上限为 1:新搬出时丢弃旧的
        if (!m_bufGlass.empty()) {
            for (auto* oldGlass : m_bufGlass) {
                if (oldGlass != nullptr) oldGlass->release();
            }
            m_bufGlass.clear();
        }
        m_bufGlass.push_back(pGlass);
        pGlass->addRef();
        pSlot->setContext(nullptr);