public void UpdatePaintedHints(bool requestedHint, Func <Hint, bool> filter) { if (InEditMode) { Hint hint = solver.SingleImpossibleHint; if (hint != null) { paintedHints = new Hint[] { hint } } ; else { paintedHints = new Hint[0]; } } else if ((requestedHint && paintedHints.Length == 0) || HintFlags.PaintHints) { //if (hintAutoSolve.ForcedHints) // solver.FollowSingleOptions(); solver.DoLogicalSolve(this, HintAutoSolve); paintedHints = solver.HintsToPaint(HintFlags, HintShow, filter).ToArray(); } else { paintedHints = new Hint[0]; } }