]> git.mdlowis.com Git - proto/labwc.git/commitdiff
server: free() in correct order
authorJohan Malm <jgm323@gmail.com>
Fri, 23 Oct 2020 19:19:07 +0000 (20:19 +0100)
committerJohan Malm <jgm323@gmail.com>
Fri, 23 Oct 2020 19:19:07 +0000 (20:19 +0100)
src/output.c
src/server.c

index 01d1d8d7c1725521ca22fa9804631e48d0a7f376..c1e6c03e0698f091b27a6cd9d11aa9eeaa6f4893 100644 (file)
@@ -380,6 +380,7 @@ output_destroy_notify(struct wl_listener *listener, void *data)
         wl_list_remove(&output->link);
         wl_list_remove(&output->frame.link);
         wl_list_remove(&output->destroy.link);
+       free(output);
 }
 
 static void
index 65b400e9f29940215274c4ebe8d945d93de278a3..b19b17bc18db5bb04b0295d8ed54404c806dcc74 100644 (file)
@@ -211,15 +211,7 @@ server_finish(struct server *server)
        wl_display_destroy_clients(server->wl_display);
 
        seat_finish(server);
+       wlr_output_layout_destroy(server->output_layout);
 
        wl_display_destroy(server->wl_display);
-
-       struct output *output, *next;
-       wl_list_for_each_safe (output, next, &server->outputs, link) {
-               info("remove output %p", output);
-               wl_list_remove(&output->link);
-               free(output);
-       }
-
-       wlr_output_layout_destroy(server->output_layout);
 }