Przeglądaj źródła

fix final furi checks

jblanked 1 rok temu
rodzic
commit
2a1d270e59

+ 4 - 3
callback/flip_store_callback.c

@@ -434,6 +434,7 @@ static void free_category_submenu(FlipStoreApp *app)
         app->submenu_app_list_category = NULL;
         app->submenu_app_list_category = NULL;
     }
     }
 }
 }
+static void free_variable_item_list(FlipStoreApp *app);
 
 
 uint32_t callback_to_submenu(void *context)
 uint32_t callback_to_submenu(void *context)
 {
 {
@@ -694,7 +695,7 @@ static bool alloc_dialog_firmware(void *context)
         FURI_LOG_E(TAG, "FlipStoreApp is NULL");
         FURI_LOG_E(TAG, "FlipStoreApp is NULL");
         return false;
         return false;
     }
     }
-    FURI_LOG_I(TAG, "Allocating dialog_firmware");
+
     if (!app->dialog_firmware)
     if (!app->dialog_firmware)
     {
     {
         if (!easy_flipper_set_dialog_ex(
         if (!easy_flipper_set_dialog_ex(
@@ -785,10 +786,9 @@ uint32_t callback_to_submenu_options(void *context)
     firmware_free();
     firmware_free();
     flip_catalog_free();
     flip_catalog_free();
     free_category_submenu(app);
     free_category_submenu(app);
-    free_dialog_firmware(app);
     return FlipStoreViewSubmenuOptions;
     return FlipStoreViewSubmenuOptions;
 }
 }
-static void free_all_views(FlipStoreApp *app, bool should_free_variable_item_list)
+void free_all_views(FlipStoreApp *app, bool should_free_variable_item_list)
 {
 {
     if (!app)
     if (!app)
     {
     {
@@ -805,6 +805,7 @@ static void free_all_views(FlipStoreApp *app, bool should_free_variable_item_lis
     free_text_input_view(app);
     free_text_input_view(app);
     free_dialog_firmware(app);
     free_dialog_firmware(app);
     free_app_info_view(app);
     free_app_info_view(app);
+    firmware_free();
 }
 }
 uint32_t callback_exit_app(void *context)
 uint32_t callback_exit_app(void *context)
 {
 {

+ 2 - 0
callback/flip_store_callback.h

@@ -26,6 +26,8 @@ uint32_t callback_to_app_list(void *context);
 uint32_t callback_exit_app(void *context);
 uint32_t callback_exit_app(void *context);
 void callback_submenu_choices(void *context, uint32_t index);
 void callback_submenu_choices(void *context, uint32_t index);
 
 
+void free_all_views(FlipStoreApp *app, bool should_free_variable_item_list);
+
 // Add edits by Derek Jamison
 // Add edits by Derek Jamison
 typedef enum DataState DataState;
 typedef enum DataState DataState;
 enum DataState
 enum DataState

+ 2 - 0
flip_store.c

@@ -47,6 +47,8 @@ void flip_store_app_free(FlipStoreApp *app)
         submenu_free(app->submenu_firmwares);
         submenu_free(app->submenu_firmwares);
     }
     }
 
 
+    free_all_views(app, true);
+
     // free the view dispatcher
     // free the view dispatcher
     if (app->view_dispatcher)
     if (app->view_dispatcher)
         view_dispatcher_free(app->view_dispatcher);
         view_dispatcher_free(app->view_dispatcher);