已修改3个文件
28 ■■■■■ 文件已修改
SourceCode/Bond/Servo/CMaster.cpp 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/EqsGraphWnd.cpp 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/ServoDlg.cpp 2 ●●● 补丁 | 查看 | 原始文档 | 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);
SourceCode/Bond/Servo/EqsGraphWnd.cpp
@@ -495,14 +495,7 @@
void CEqsGraphWnd::SetOnListener(EqsGraphListener& listener)
{
    m_listener.onConnectPin = listener.onConnectPin;
    m_listener.onCheckConnectPin = listener.onCheckConnectPin;
    m_listener.onDisconnectPin = listener.onDisconnectPin;
    m_listener.onDeleteEqItem = listener.onDeleteEqItem;
    m_listener.onEqItemPosChanged = listener.onEqItemPosChanged;
    m_listener.onDblckEqItem = listener.onDblckEqItem;
    m_listener.onRclickEqItem = listener.onRclickEqItem;
    m_listener.onSelectEqItem = listener.onSelectEqItem;
    m_listener = listener;
}
BOOL CEqsGraphWnd::SetCurSel(int nSel)
SourceCode/Bond/Servo/ServoDlg.cpp
@@ -195,7 +195,7 @@
                    ASSERT(m_pPanelAttributes);
                    m_pPanelEquipment->loadDataFromEquipment(pEquipment);
                    m_pPanelAttributes->ShowWindow(SW_HIDE);
                    if (!m_pPanelEquipment->IsWindowVisible()) {
                    if (!m_pPanelEquipment->IsWindowVisible() && m_nLeftPanelType == 1) {
                        m_pPanelEquipment->ShowWindow(SW_SHOW);
                        Resize();
                    }