diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 1abf126289..3515e01424 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -511,9 +511,6 @@ static void rgui_free(void *data) if (!menu) return; - if (menu->frame_buf) - free(menu->frame_buf); - if (menu->userdata) free(menu->userdata); driver.menu->userdata = NULL; diff --git a/menu/menu.c b/menu/menu.c index e92ed670e1..80913a4d5b 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -257,6 +257,10 @@ void menu_free(void *data) menu_animation_free(menu->animation); menu->animation = NULL; + if (menu->frame_buf) + free(menu->frame_buf); + menu->frame_buf = NULL; + menu_list_free(menu->menu_list); menu->menu_list = NULL;