From 6415c5fead47feae3f2cca81d2c66aad0d735ae7 Mon Sep 17 00:00:00 2001 From: Shlomi Fish <shlomif@shlomifish.org> Date: Thu, 12 Apr 2018 11:03:56 +0300 Subject: [PATCH] Fix crashes on invalid max_iters input. See https://github.com/shlomif/PySolFC/issues/73 . --- pysollib/ui/tktile/solverdialog.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pysollib/ui/tktile/solverdialog.py b/pysollib/ui/tktile/solverdialog.py index e38725d8..f7da1bb5 100644 --- a/pysollib/ui/tktile/solverdialog.py +++ b/pysollib/ui/tktile/solverdialog.py @@ -9,8 +9,15 @@ class BaseSolverDialog: def _ToggleShowProgressButton(self, *args): self.app.opt.solver_show_progress = self.progress_var.get() + def _getMaxIters(self): + try: + i = self.max_iters_var.get() + except Exception: + i = 100000 + return i + def _OnAssignToMaxIters(self, *args): - self.app.opt.solver_max_iterations = self.max_iters_var.get() + self.app.opt.solver_max_iterations = self._getMaxIters() def __init__(self, parent, app, **kw): self.parent = parent @@ -158,7 +165,7 @@ class BaseSolverDialog: solver = game.Solver_Class(game, self) # create solver instance game.solver = solver preset = self.preset_var.get() - max_iters = self.max_iters_var.get() + max_iters = self._getMaxIters() progress = self.app.opt.solver_show_progress solver.config(preset=preset, max_iters=max_iters, progress=progress) try: