From c4dabbb8155cbcf5327debcad99ae193e4b570d9 Mon Sep 17 00:00:00 2001
From: Rahix <rahix@rahix.de>
Date: Sat, 14 Sep 2019 20:12:56 +0200
Subject: [PATCH] fix(simple_menu): Fix Menu.exit() not working

Fixes #155

Signed-off-by: Rahix <rahix@rahix.de>
---
 pycardium/modules/py/simple_menu.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/pycardium/modules/py/simple_menu.py b/pycardium/modules/py/simple_menu.py
index b9c535ee..34f0de45 100644
--- a/pycardium/modules/py/simple_menu.py
+++ b/pycardium/modules/py/simple_menu.py
@@ -282,6 +282,8 @@ class Menu:
                     self.idx = (self.idx + 1) % len(self.entries)
                     try:
                         self.on_scroll(self.entries[self.idx], self.idx)
+                    except _ExitMenuException:
+                        raise
                     except Exception as e:
                         print("Exception during menu.on_scroll():")
                         sys.print_exception(e)
@@ -291,6 +293,8 @@ class Menu:
                     self.idx = (self.idx + len(self.entries) - 1) % len(self.entries)
                     try:
                         self.on_scroll(self.entries[self.idx], self.idx)
+                    except _ExitMenuException:
+                        raise
                     except Exception as e:
                         print("Exception during menu.on_scroll():")
                         sys.print_exception(e)
@@ -298,6 +302,8 @@ class Menu:
                     try:
                         self.on_select(self.entries[self.idx], self.idx)
                         self.select_time = utime.time_ms()
+                    except _ExitMenuException:
+                        raise
                     except Exception as e:
                         print("Menu crashed!")
                         sys.print_exception(e)
-- 
GitLab