[FL-3118] Dumb mode menu freeze fix (#2456)
Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
parent
5be15152eb
commit
50ef5deefc
@ -144,11 +144,13 @@ void desktop_unlock(Desktop* desktop) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void desktop_set_dummy_mode_state(Desktop* desktop, bool enabled) {
|
void desktop_set_dummy_mode_state(Desktop* desktop, bool enabled) {
|
||||||
|
desktop->in_transition = true;
|
||||||
view_port_enabled_set(desktop->dummy_mode_icon_viewport, enabled);
|
view_port_enabled_set(desktop->dummy_mode_icon_viewport, enabled);
|
||||||
desktop_main_set_dummy_mode_state(desktop->main_view, enabled);
|
desktop_main_set_dummy_mode_state(desktop->main_view, enabled);
|
||||||
animation_manager_set_dummy_mode_state(desktop->animation_manager, enabled);
|
animation_manager_set_dummy_mode_state(desktop->animation_manager, enabled);
|
||||||
desktop->settings.dummy_mode = enabled;
|
desktop->settings.dummy_mode = enabled;
|
||||||
DESKTOP_SETTINGS_SAVE(&desktop->settings);
|
DESKTOP_SETTINGS_SAVE(&desktop->settings);
|
||||||
|
desktop->in_transition = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Desktop* desktop_alloc() {
|
Desktop* desktop_alloc() {
|
||||||
|
@ -69,6 +69,8 @@ struct Desktop {
|
|||||||
FuriPubSub* input_events_pubsub;
|
FuriPubSub* input_events_pubsub;
|
||||||
FuriPubSubSubscription* input_events_subscription;
|
FuriPubSubSubscription* input_events_subscription;
|
||||||
FuriTimer* auto_lock_timer;
|
FuriTimer* auto_lock_timer;
|
||||||
|
|
||||||
|
bool in_transition;
|
||||||
};
|
};
|
||||||
|
|
||||||
Desktop* desktop_alloc();
|
Desktop* desktop_alloc();
|
||||||
|
@ -79,6 +79,7 @@ static void desktop_scene_main_open_app_or_profile(Desktop* desktop, const char*
|
|||||||
|
|
||||||
void desktop_scene_main_callback(DesktopEvent event, void* context) {
|
void desktop_scene_main_callback(DesktopEvent event, void* context) {
|
||||||
Desktop* desktop = (Desktop*)context;
|
Desktop* desktop = (Desktop*)context;
|
||||||
|
if(desktop->in_transition) return;
|
||||||
view_dispatcher_send_custom_event(desktop->view_dispatcher, event);
|
view_dispatcher_send_custom_event(desktop->view_dispatcher, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user