Ver Fonte

fixed memory leak

Tibor Tálosi há 1 ano atrás
pai
commit
2f6bc39ef3
1 ficheiros alterados com 4 adições e 1 exclusões
  1. 4 1
      solitaire.c

+ 4 - 1
solitaire.c

@@ -93,7 +93,10 @@ static void cleanup(GameState *instance) {
     gui_direct_draw_release(instance->gui);
     furi_record_close(RECORD_GUI);
     furi_record_close(RECORD_INPUT_EVENTS);
+    furi_record_close(RECORD_NOTIFICATION);
+
     list_clear(game_logic);
+    free(game_logic);
     buffer_release(instance->buffer);
     free(instance);
 }
@@ -154,8 +157,8 @@ static void direct_draw_run(GameState *instance) {
                 buffer_render(instance->buffer, instance->canvas);
                 curr_state->render(instance);
             }else{
-                curr_state->render(instance);
                 buffer_swap_back(instance->buffer);
+                curr_state->render(instance);
                 buffer_render(instance->buffer, instance->canvas);
             }
             canvas_commit(instance->canvas);