diff -r 0cbba94590d2 -r c9738782e7a4 eric6/UI/UserInterface.py --- a/eric6/UI/UserInterface.py Mon May 10 19:37:03 2021 +0200 +++ b/eric6/UI/UserInterface.py Mon May 10 20:01:43 2021 +0200 @@ -6816,12 +6816,23 @@ installation list of strings """ from PluginManager.PluginInstallDialog import PluginInstallDialog - dlg = PluginInstallDialog( + self.__pluginInstallDialog = PluginInstallDialog( self.pluginManager, [] if pluginFileNames is None else pluginFileNames[:], self) - dlg.exec() - if dlg.restartNeeded(): + self.__pluginInstallDialog.setModal(False) + self.__pluginInstallDialog.finished.connect( + self.__pluginInstallFinished) + self.__pluginInstallDialog.show() + + @pyqtSlot() + def __pluginInstallFinished(self): + """ + Private slot to handle the finishing of the plugin install dialog. + """ + if self.__pluginInstallDialog.restartNeeded(): + self.__pluginInstallDialog.deleteLater() + del self.__pluginInstallDialog self.__restart(ask=True) def __deinstallPlugin(self):