From 5580f1836c3d4824cf215eeb981725b50a80aa67 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 28 Jan 2015 16:10:21 -0300 Subject: Refactor wizard call. --- src/leap/bitmask/gui/wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/leap/bitmask/gui/wizard.py') diff --git a/src/leap/bitmask/gui/wizard.py b/src/leap/bitmask/gui/wizard.py index 35043a68..c12e8c2e 100644 --- a/src/leap/bitmask/gui/wizard.py +++ b/src/leap/bitmask/gui/wizard.py @@ -153,7 +153,7 @@ class Wizard(QtGui.QWizard, SignalTracker): self.ui.lnProvider.setText('') self.ui.grpCheckProvider.setVisible(False) # HACK FIX: disconnection of signals triggers a segfault on quit - # self.disconnect_and_untrack() + self.disconnect_and_untrack() def _load_configured_providers(self): """ -- cgit v1.2.3 From 73de8eae2422bedae0899ff11d8203178e6f2dbb Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 28 Jan 2015 15:35:41 -0300 Subject: Enable signal connect/disconnect logic. Now it's working and no longer segfaults, so we can enable safely this feature again. Stop tracking the gui connections on wizard. --- src/leap/bitmask/gui/wizard.py | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'src/leap/bitmask/gui/wizard.py') diff --git a/src/leap/bitmask/gui/wizard.py b/src/leap/bitmask/gui/wizard.py index c12e8c2e..a30723f2 100644 --- a/src/leap/bitmask/gui/wizard.py +++ b/src/leap/bitmask/gui/wizard.py @@ -82,9 +82,8 @@ class Wizard(QtGui.QWizard, SignalTracker): self._use_existing_provider = False self.ui.grpCheckProvider.setVisible(False) - conntrack = self.connect_and_track - conntrack(self.ui.btnCheck.clicked, self._check_provider) - conntrack(self.ui.lnProvider.returnPressed, self._check_provider) + self.ui.btnCheck.clicked.connect(self._check_provider) + self.ui.lnProvider.returnPressed.connect(self._check_provider) self._leap_signaler = leap_signaler @@ -96,22 +95,19 @@ class Wizard(QtGui.QWizard, SignalTracker): # this details are set when the provider download is complete. self._provider_details = None - conntrack(self.currentIdChanged, self._current_id_changed) + self.currentIdChanged.connect(self._current_id_changed) - conntrack(self.ui.lnProvider.textChanged, self._enable_check) - conntrack(self.ui.rbNewProvider.toggled, - lambda x: self._enable_check()) - conntrack(self.ui.cbProviders.currentIndexChanged[int], - self._reset_provider_check) + self.ui.lnProvider.textChanged.connect(self._enable_check) + self.ui.rbNewProvider.toggled.connect(lambda x: self._enable_check()) + self.ui.cbProviders.currentIndexChanged[int].connect( + self._reset_provider_check) - conntrack(self.ui.lblUser.returnPressed, self._focus_password) - conntrack(self.ui.lblPassword.returnPressed, - self._focus_second_password) - conntrack(self.ui.lblPassword2.returnPressed, self._register) - conntrack(self.ui.btnRegister.clicked, self._register) + self.ui.lblUser.returnPressed.connect(self._focus_password) + self.ui.lblPassword.returnPressed.connect(self._focus_second_password) + self.ui.lblPassword2.returnPressed.connect(self._register) + self.ui.btnRegister.clicked.connect(self._register) - conntrack(self.ui.rbExistingProvider.toggled, - self._skip_provider_checks) + self.ui.rbExistingProvider.toggled.connect(self._skip_provider_checks) usernameRe = QtCore.QRegExp(USERNAME_REGEX) self.ui.lblUser.setValidator( @@ -136,7 +132,7 @@ class Wizard(QtGui.QWizard, SignalTracker): self._provider_checks_ok = False self._provider_setup_ok = False - conntrack(self.finished, self._wizard_finished) + self.finished.connect(self._wizard_finished) @QtCore.Slot() def _wizard_finished(self): @@ -152,7 +148,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self._provider_setup_ok = False self.ui.lnProvider.setText('') self.ui.grpCheckProvider.setVisible(False) - # HACK FIX: disconnection of signals triggers a segfault on quit self.disconnect_and_untrack() def _load_configured_providers(self): -- cgit v1.2.3 From 8cdeeadf9e258f31d401c133d73cfc29f86d9d29 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 28 Jan 2015 16:10:28 -0300 Subject: Remove all the Slot() decorators. This causes (on certain scenarios) the app to segfault and it is really hard to debug. --- src/leap/bitmask/gui/wizard.py | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'src/leap/bitmask/gui/wizard.py') diff --git a/src/leap/bitmask/gui/wizard.py b/src/leap/bitmask/gui/wizard.py index a30723f2..5da021d1 100644 --- a/src/leap/bitmask/gui/wizard.py +++ b/src/leap/bitmask/gui/wizard.py @@ -134,7 +134,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self._provider_setup_ok = False self.finished.connect(self._wizard_finished) - @QtCore.Slot() def _wizard_finished(self): """ TRIGGERS: @@ -245,7 +244,6 @@ class Wizard(QtGui.QWizard, SignalTracker): def get_services(self): return self._selected_services - @QtCore.Slot(unicode) def _enable_check(self, reset=True): """ TRIGGERS: @@ -335,7 +333,6 @@ class Wizard(QtGui.QWizard, SignalTracker): # register button self.ui.btnRegister.setVisible(visible) - @QtCore.Slot() def _registration_finished(self): """ TRIGGERS: @@ -361,7 +358,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self.page(self.REGISTER_USER_PAGE).set_completed() self.button(QtGui.QWizard.BackButton).setEnabled(False) - @QtCore.Slot() def _registration_failed(self): """ TRIGGERS: @@ -375,7 +371,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self._set_register_status(error_msg, error=True) self.ui.btnRegister.setEnabled(True) - @QtCore.Slot() def _registration_taken(self): """ TRIGGERS: @@ -422,7 +417,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self.ui.lblCheckCaFpr.setPixmap(None) self.ui.lblCheckApiCert.setPixmap(None) - @QtCore.Slot() def _check_provider(self): """ TRIGGERS: @@ -456,7 +450,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self.ui.lblNameResolution.setPixmap(self.QUESTION_ICON) self._backend.provider_setup(provider=self._domain) - @QtCore.Slot(bool) def _skip_provider_checks(self, skip): """ TRIGGERS: @@ -500,7 +493,6 @@ class Wizard(QtGui.QWizard, SignalTracker): label.setPixmap(self.ERROR_ICON) logger.error(error) - @QtCore.Slot(dict) def _name_resolution(self, data): """ TRIGGERS: @@ -520,7 +512,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self.ui.btnCheck.setEnabled(not passed) self.ui.lnProvider.setEnabled(not passed) - @QtCore.Slot(dict) def _https_connection(self, data): """ TRIGGERS: @@ -540,7 +531,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self.ui.btnCheck.setEnabled(not passed) self.ui.lnProvider.setEnabled(not passed) - @QtCore.Slot(dict) def _download_provider_info(self, data): """ TRIGGERS: @@ -576,7 +566,6 @@ class Wizard(QtGui.QWizard, SignalTracker): else: self.ui.cbProviders.setEnabled(True) - @QtCore.Slot() def _provider_get_details(self, details): """ Set the details for the just downloaded provider. @@ -586,7 +575,6 @@ class Wizard(QtGui.QWizard, SignalTracker): """ self._provider_details = details - @QtCore.Slot(dict) def _download_ca_cert(self, data): """ TRIGGERS: @@ -599,7 +587,6 @@ class Wizard(QtGui.QWizard, SignalTracker): if passed: self.ui.lblCheckCaFpr.setPixmap(self.QUESTION_ICON) - @QtCore.Slot(dict) def _check_ca_fingerprint(self, data): """ TRIGGERS: @@ -612,7 +599,6 @@ class Wizard(QtGui.QWizard, SignalTracker): if passed: self.ui.lblCheckApiCert.setPixmap(self.QUESTION_ICON) - @QtCore.Slot(dict) def _check_api_certificate(self, data): """ TRIGGERS: @@ -626,7 +612,6 @@ class Wizard(QtGui.QWizard, SignalTracker): True, self.SETUP_PROVIDER_PAGE) self._provider_setup_ok = True - @QtCore.Slot(str, int) def _service_selection_changed(self, service, state): """ TRIGGERS: @@ -675,7 +660,6 @@ class Wizard(QtGui.QWizard, SignalTracker): self.tr("Something went wrong while trying to " "load service %s" % (service,))) - @QtCore.Slot(int) def _current_id_changed(self, pageId): """ TRIGGERS: -- cgit v1.2.3