Browse Source

Fix incompatible plugin not being deleted issue

Unload incompatible plugin before deleting it.

Fix #9377, close #9382
pull/9395/head^2
Christian Grasser 4 years ago committed by Don HO
parent
commit
a55d46d170
No known key found for this signature in database
GPG Key ID: 6C429F1D8D84F46E
  1. 12
      PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp

12
PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp

@ -275,10 +275,14 @@ int PluginsManager::loadPlugin(const TCHAR *pluginFilePath)
s += USERMSG;
if (::MessageBox(NULL, s.c_str(), pluginFilePath, MB_YESNO) == IDYES)
{
if (pi && pi->_hLib)
{
::FreeLibrary(pi->_hLib);
}
::DeleteFile(pluginFilePath);
}
delete pi;
return -1;
return -1;
}
catch (...)
{
@ -288,10 +292,14 @@ int PluginsManager::loadPlugin(const TCHAR *pluginFilePath)
msg += USERMSG;
if (::MessageBox(NULL, msg.c_str(), pluginFilePath, MB_YESNO) == IDYES)
{
if (pi && pi->_hLib)
{
::FreeLibrary(pi->_hLib);
}
::DeleteFile(pluginFilePath);
}
delete pi;
return -1;
return -1;
}
}

Loading…
Cancel
Save