From c1f6d4d7ab2a007b538ec52d3d8443cfdc1589da Mon Sep 17 00:00:00 2001 From: Loren Eteval Date: Sat, 11 May 2024 17:24:47 +0800 Subject: [PATCH] Fix add server via Gui crash Signed-off-by: Loren Eteval --- Furious/Widget/UserServersQTableWidget.py | 24 +++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Furious/Widget/UserServersQTableWidget.py b/Furious/Widget/UserServersQTableWidget.py index c4df8b1..5e95510 100644 --- a/Furious/Widget/UserServersQTableWidget.py +++ b/Furious/Widget/UserServersQTableWidget.py @@ -1093,14 +1093,26 @@ class UserServersQTableWidget(QTranslatable, AppQTableWidget): logger.error(f'error while converting factory to input: {ex}') - def handleAccepted(): - guiEditor.inputToFactory(factory) - - self.appendNewItemByFactory(factory) - - guiEditor.connectAccepted(handleAccepted) + guiEditor.accepted.connect( + functools.partial( + self.handleAddServerViaGui, + guiEditor, + factory, + ) + ) guiEditor.open() + def handleAddServerViaGui( + self, + editor: GuiEditorWidgetQDialog, + factory: ConfigurationFactory, + ): + editor.inputToFactory(factory) + + self.appendNewItemByFactory(factory) + + editor.accepted.disconnect() + def flushRow(self, row: int, item: ConfigurationFactory): for column in list(range(self.columnCount())): self.flushItem(row, column, item)