void NotepadPlusWrapper::clearCallback(boost::python::object callback, boost::python::list events) { for(callbackT::iterator it = m_callbacks.begin(); it != m_callbacks.end(); ) { if(it->second == callback && boost::python::extract<bool>(events.contains(it->first))) { it = m_callbacks.erase(it); } else { ++it; } } if (m_callbacks.empty()) { m_notificationsEnabled = false; } }
void ScintillaWrapper::clearCallbackEvents(boost::python::list events) { for(callbackT::iterator it = m_callbacks.begin(); it != m_callbacks.end(); ) { if(boost::python::extract<bool>(events.contains(it->first))) { Py_DECREF(it->second); it = m_callbacks.erase(it); } else { ++it; } } if (m_callbacks.empty()) { m_notificationsEnabled = false; } }