1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 20:49:49 +04:00

fix repeat call of view_dispatcher_alloc

This commit is contained in:
DerSkythe
2022-09-24 22:15:09 +04:00
parent aeb02500de
commit c8e3d9b040
2 changed files with 10 additions and 9 deletions

View File

@@ -19,9 +19,9 @@ void subbrute_scene_start_on_enter(void* context) {
subbrute_main_view_set_callback(view,
subbrute_scene_start_callback,
instance);
subbrute_main_view_set_index(view, (uint8_t)instance->device->attack);
view_dispatcher_switch_to_view(instance->view_dispatcher, instance->current_view);
subbrute_main_view_set_index(view, (uint8_t)instance->device->attack);
}
void subbrute_scene_start_on_exit(void* context) {

View File

@@ -59,6 +59,8 @@ SubBruteState* subbrute_alloc() {
instance->scene_manager = scene_manager_alloc(&subbrute_scene_handlers, instance);
instance->view_dispatcher = view_dispatcher_alloc();
instance->gui = furi_record_open(RECORD_GUI);
view_dispatcher_enable_queue(instance->view_dispatcher);
view_dispatcher_set_event_callback_context(instance->view_dispatcher, instance);
view_dispatcher_set_custom_event_callback(
@@ -68,17 +70,15 @@ SubBruteState* subbrute_alloc() {
view_dispatcher_set_tick_event_callback(
instance->view_dispatcher, subbrute_tick_event_callback, 100);
// Devices
instance->device = subbrute_device_alloc();
instance->gui = furi_record_open(RECORD_GUI);
instance->dialogs = furi_record_open(RECORD_DIALOGS);
instance->notifications = furi_record_open(RECORD_NOTIFICATION);
instance->view_dispatcher = view_dispatcher_alloc();
//Dialog
instance->dialogs = furi_record_open(RECORD_DIALOGS);
// Notifications
instance->notifications = furi_record_open(RECORD_NOTIFICATION);
// Devices
instance->device = subbrute_device_alloc();
// TextInput
instance->text_input = text_input_alloc();
view_dispatcher_add_view(
@@ -157,6 +157,7 @@ void subbrute_free(SubBruteState* instance) {
//Dialog
furi_record_close(RECORD_DIALOGS);
instance->dialogs = NULL;
// Scene manager
scene_manager_free(instance->scene_manager);