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: