Fix user-after-free during plugin reload.

This commit is contained in:
Martín Lucas Golini
2026-01-30 00:35:34 -03:00
parent 256df44a4d
commit 73f04262be
2 changed files with 8 additions and 2 deletions

View File

@@ -313,8 +313,12 @@ void PluginManager::subscribeFileSystemListener() {
mFileSystemListenerCb =
mFileSystemListener->addListener( [this]( const FileEvent& ev, const FileInfo& file ) {
Lock l( mPluginsFSSubsMutex );
for ( Plugin* plugin : mPluginsFSSubs )
UnorderedSet<Plugin*> plugins;
{
Lock l( mPluginsFSSubsMutex );
plugins = mPluginsFSSubs;
}
for ( Plugin* plugin : plugins )
plugin->onFileSystemEvent( ev, file );
} );
}