diff --git a/lib/EAPBase/include/Method.h b/lib/EAPBase/include/Method.h index 4712f35..fa8c8b7 100644 --- a/lib/EAPBase/include/Method.h +++ b/lib/EAPBase/include/Method.h @@ -192,6 +192,7 @@ namespace eap public: module &m_module; ///< Module for global services + method *m_outer; ///< Outer method }; diff --git a/lib/EAPBase/src/Method.cpp b/lib/EAPBase/src/Method.cpp index 7aa2ef1..4d5bed4 100644 --- a/lib/EAPBase/src/Method.cpp +++ b/lib/EAPBase/src/Method.cpp @@ -29,7 +29,8 @@ using namespace winstd; ////////////////////////////////////////////////////////////////////// eap::method::method(_In_ module &mod) : - m_module(mod) + m_module(mod), + m_outer(nullptr) { } @@ -107,6 +108,8 @@ eap::method_tunnel::method_tunnel(_In_ module &mod, _In_ method *inner) : m_inner(inner), method(mod) { + assert(m_inner); + m_inner->m_outer = this; }