forked from qt-creator/qt-creator
PluginManager: Destruct plugins that fail to initialize
Directly destruct the plugin after failed initialization, instead of letting the plugin loader clean up automatically just before application destruction (which would be after all other plugins are already destructed). Change-Id: Ic459a652fdb99c3e3ee1a7561334ba7075c9c666 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
@@ -983,6 +983,9 @@ bool PluginSpecPrivate::initializePlugin()
|
|||||||
if (!plugin->initialize(arguments, &err)) {
|
if (!plugin->initialize(arguments, &err)) {
|
||||||
errorString = QCoreApplication::translate("PluginSpec", "Plugin initialization failed: %1").arg(err);
|
errorString = QCoreApplication::translate("PluginSpec", "Plugin initialization failed: %1").arg(err);
|
||||||
hasError = true;
|
hasError = true;
|
||||||
|
// clean up
|
||||||
|
loader.unload();
|
||||||
|
plugin = 0;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
state = PluginSpec::Initialized;
|
state = PluginSpec::Initialized;
|
||||||
|
|||||||
Reference in New Issue
Block a user