git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit90bc035bc03d70afbbf7a889d2cef3b1dba7f8cb
parent8d7233bacc
authorIsaac Freund <[email protected]>
date2021-10-02 14:36
Server: fix use after free in deinit()

The input manager and seats must be destroyed before the display is
destroyed as they need to destroy their timer event sources used for key
repeat.

 river/Server.zig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/river/Server.zig b/river/Server.zig
index ebe9096..951ba9e 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -144,10 +144,10 @@ pub fn deinit(self: *Self) void {
     self.backend.destroy();
 
     self.root.deinit();
+    self.input_manager.deinit();
 
     self.wl_server.destroy();
 
-    self.input_manager.deinit();
     self.config.deinit();
 }