mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-13 02:55:46 -07:00
core: fix a few asan reported issues and a coredump on exit (#6285)
* xwayland: add destructor to CXWM and free resource the wl_event_resource was running upon destruction of the compositor causing a null pointer segfault in onX11Event so ensure the event is removed upon destruction, also free the memory allocated by xcb_errors_context_new and finally call xcb_disconnect on the connection to free the fd and its memory. * hyprctl: dont leak the fd on destruction add a destructor and properly free the fd on destruction * eventloop: add destructor and free event source properly free the wl_event_source upon destruction.
This commit is contained in:
@@ -837,6 +837,17 @@ CXWM::CXWM() {
|
||||
xcb_flush(connection);
|
||||
}
|
||||
|
||||
CXWM::~CXWM() {
|
||||
if (errors)
|
||||
xcb_errors_context_free(errors);
|
||||
|
||||
if (connection)
|
||||
xcb_disconnect(connection);
|
||||
|
||||
if (eventSource)
|
||||
wl_event_source_remove(eventSource);
|
||||
}
|
||||
|
||||
void CXWM::setActiveWindow(xcb_window_t window) {
|
||||
xcb_change_property(connection, XCB_PROP_MODE_REPLACE, screen->root, HYPRATOMS["_NET_ACTIVE_WINDOW"], HYPRATOMS["WINDOW"], 32, 1, &window);
|
||||
}
|
||||
|
Reference in New Issue
Block a user