Explorar el Código

[FL-2773] Fix crash after cancelling Learn New Remote #1675

Co-authored-by: あく <alleteam@gmail.com>
Georgii Surkov hace 3 años
padre
commit
5e2a90c6f1
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      applications/infrared/scenes/infrared_scene_learn.c

+ 1 - 1
applications/infrared/scenes/infrared_scene_learn.c

@@ -25,7 +25,6 @@ bool infrared_scene_learn_on_event(void* context, SceneManagerEvent event) {
 
     if(event.type == SceneManagerEventTypeCustom) {
         if(event.event == InfraredCustomEventTypeSignalReceived) {
-            infrared_worker_rx_set_received_signal_callback(infrared->worker, NULL, NULL);
             infrared_play_notification_message(infrared, InfraredNotificationMessageSuccess);
             scene_manager_next_scene(infrared->scene_manager, InfraredSceneLearnSuccess);
             consumed = true;
@@ -38,6 +37,7 @@ bool infrared_scene_learn_on_event(void* context, SceneManagerEvent event) {
 void infrared_scene_learn_on_exit(void* context) {
     Infrared* infrared = context;
     Popup* popup = infrared->popup;
+    infrared_worker_rx_set_received_signal_callback(infrared->worker, NULL, NULL);
     infrared_worker_rx_stop(infrared->worker);
     infrared_play_notification_message(infrared, InfraredNotificationMessageBlinkStop);
     popup_set_icon(popup, 0, 0, NULL);