Skip to content

Commit e648e21

Browse files
nirvnalexbruy
authored andcommitted
[processing] fix app freeze when closing options dialog (fixes #15550)
(cherry picked from commit 3dcf487)
1 parent da3eb06 commit e648e21

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

‎python/plugins/processing/core/ProcessingConfig.py‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -268,16 +268,15 @@ def setValue(self, value):
268268
self.validator(value)
269269
self.value = value
270270

271-
def read(self):
272-
qsettings = QSettings()
271+
def read(self, qsettings=QSettings()):
273272
value = qsettings.value(self.qname, None)
274273
if value is not None:
275274
if isinstance(self.value, bool):
276275
value = unicode(value).lower() == unicode(True).lower()
277276
self.value = value
278277

279-
def save(self):
280-
QSettings().setValue(self.qname, self.value)
278+
def save(self, qsettings=QSettings()):
279+
qsettings.setValue(self.qname, self.value)
281280

282281
def __str__(self):
283282
return self.name + '=' + unicode(self.value)

‎python/plugins/processing/gui/ConfigDialog.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
from PyQt4 import uic
3232
from PyQt4.QtCore import Qt, QEvent, QPyNullVariant
33-
from PyQt4.QtGui import (QFileDialog, QDialog, QIcon, QStyle,
33+
from PyQt4.QtGui import (QFileDialog, QDialog, QIcon, QStyle, QSettings,
3434
QStandardItemModel, QStandardItem, QMessageBox, QStyledItemDelegate,
3535
QLineEdit, QWidget, QToolButton, QHBoxLayout,
3636
QComboBox)
@@ -139,6 +139,7 @@ def fillTree(self):
139139
self.adjustColumns()
140140

141141
def accept(self):
142+
qsettings = QSettings()
142143
for setting in self.items.keys():
143144
if isinstance(setting.value, bool):
144145
setting.setValue(self.items[setting].checkState() == Qt.Checked)
@@ -149,7 +150,7 @@ def accept(self):
149150
QMessageBox.warning(self, self.tr('Wrong value'),
150151
self.tr('Wrong value for parameter "%s":\n\n%s' % (setting.description, unicode(e))))
151152
return
152-
setting.save()
153+
setting.save(qsettings)
153154
Processing.updateAlgsList()
154155

155156
QDialog.accept(self)

0 commit comments

Comments
 (0)