fix(plugins): register correct client id (#984)

This commit is contained in:
Jae-Heon Ji 2022-01-03 23:54:41 +09:00 committed by GitHub
parent e2f9f30405
commit 5dd3fce4a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -176,14 +176,16 @@ pub(crate) fn wasm_thread_main(
} }
PluginInstruction::AddClient(client_id) => { PluginInstruction::AddClient(client_id) => {
connected_clients.push(client_id); connected_clients.push(client_id);
let mut seen = HashSet::new(); let mut seen = HashSet::new();
let mut new_plugins = HashMap::new(); let mut new_plugins = HashMap::new();
for (&(plugin_id, client_id), (instance, plugin_env)) in &plugin_map { for (&(plugin_id, _), (instance, plugin_env)) in &plugin_map {
if seen.contains(&plugin_id) { if seen.contains(&plugin_id) {
continue; continue;
} else { } else {
seen.insert(plugin_id); seen.insert(plugin_id);
let mut new_plugin_env = plugin_env.clone(); let mut new_plugin_env = plugin_env.clone();
new_plugin_env.client_id = client_id; new_plugin_env.client_id = client_id;
new_plugins.insert(plugin_id, (instance.module().clone(), new_plugin_env)); new_plugins.insert(plugin_id, (instance.module().clone(), new_plugin_env));
} }