FindPluginByContext works again
--HG-- branch : refac-jit extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/branches/refac-jit%402398
This commit is contained in:
parent
79cf4e07eb
commit
232f344c41
@ -111,6 +111,7 @@ void CPlugin::InitIdentity()
|
|||||||
m_ident = g_ShareSys.CreateIdentity(g_PluginIdent, this);
|
m_ident = g_ShareSys.CreateIdentity(g_PluginIdent, this);
|
||||||
m_handle = g_HandleSys.CreateHandle(g_PluginType, this, g_PluginSys.GetIdentity(), g_PluginSys.GetIdentity(), NULL);
|
m_handle = g_HandleSys.CreateHandle(g_PluginType, this, g_PluginSys.GetIdentity(), g_PluginSys.GetIdentity(), NULL);
|
||||||
m_pRuntime->GetDefaultContext()->SetKey(1, m_ident);
|
m_pRuntime->GetDefaultContext()->SetKey(1, m_ident);
|
||||||
|
m_pRuntime->GetDefaultContext()->SetKey(2, (IPlugin *)this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1563,16 +1564,14 @@ bool CPluginManager::UnloadPlugin(IPlugin *plugin)
|
|||||||
|
|
||||||
IPlugin *CPluginManager::FindPluginByContext(const sp_context_t *ctx)
|
IPlugin *CPluginManager::FindPluginByContext(const sp_context_t *ctx)
|
||||||
{
|
{
|
||||||
List<CPlugin *>::iterator iter;
|
IPlugin *pPlugin;
|
||||||
|
IPluginContext *pContext;
|
||||||
|
|
||||||
/* :TODO: :TODO: respeed this up somehow */
|
pContext = reinterpret_cast<IPluginContext *>(const_cast<sp_context_t *>(ctx));
|
||||||
for (iter = m_plugins.begin(); iter != m_plugins.end(); iter++)
|
|
||||||
|
if (pContext->GetKey(2, (void **)&pPlugin))
|
||||||
{
|
{
|
||||||
CPlugin *pl = (*iter);
|
return pPlugin;
|
||||||
if (pl->m_pRuntime != NULL && pl->m_pRuntime->GetDefaultContext()->GetContext() == ctx)
|
|
||||||
{
|
|
||||||
return pl;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user