Browse Source

Fix script user input hanging bug

0xchocolate 2 years ago
parent
commit
20dbbacdd1
2 changed files with 16 additions and 5 deletions
  1. 14 4
      scenes/wifi_marauder_scene_user_input.c
  2. 2 1
      wifi_marauder_custom_event.h

+ 14 - 4
scenes/wifi_marauder_scene_user_input.c

@@ -91,7 +91,7 @@ void wifi_marauder_scene_user_input_ok_callback(void* context) {
         break;
     }
 
-    scene_manager_previous_scene(app->scene_manager);
+    view_dispatcher_send_custom_event(app->view_dispatcher, WifiMarauderEventPrevScene);
 }
 
 void wifi_marauder_scene_user_input_on_enter(void* context) {
@@ -143,9 +143,19 @@ void wifi_marauder_scene_user_input_on_enter(void* context) {
 }
 
 bool wifi_marauder_scene_user_input_on_event(void* context, SceneManagerEvent event) {
-    UNUSED(context);
-    UNUSED(event);
-    return false;
+    WifiMarauderApp* app = context;
+
+    bool consumed = false;
+
+    if(event.type == SceneManagerEventTypeCustom) {
+        if(event.event == WifiMarauderEventPrevScene) {
+            scene_manager_previous_scene(app->scene_manager);
+            consumed = true;
+        }
+    }
+
+    return consumed;
+
 }
 
 void wifi_marauder_scene_user_input_on_exit(void* context) {

+ 2 - 1
wifi_marauder_custom_event.h

@@ -9,5 +9,6 @@ typedef enum {
     WifiMarauderEventStartSettingsInit,
     WifiMarauderEventStartLogViewer,
     WifiMarauderEventStartScriptSelect,
-    WifiMarauderEventStartSniffPmkidOptions
+    WifiMarauderEventStartSniffPmkidOptions,
+    WifiMarauderEventPrevScene
 } WifiMarauderCustomEvent;