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:
parent
e08195d240
commit
eaecf7db14
6 changed files with 30 additions and 4 deletions
|
|
@ -1625,6 +1625,11 @@ CHyprCtl::CHyprCtl() {
|
|||
startHyprCtlSocket();
|
||||
}
|
||||
|
||||
CHyprCtl::~CHyprCtl() {
|
||||
if (m_eventSource)
|
||||
wl_event_source_remove(m_eventSource);
|
||||
}
|
||||
|
||||
SP<SHyprCtlCommand> CHyprCtl::registerCommand(SHyprCtlCommand cmd) {
|
||||
return m_vCommands.emplace_back(makeShared<SHyprCtlCommand>(cmd));
|
||||
}
|
||||
|
|
@ -1805,5 +1810,5 @@ void CHyprCtl::startHyprCtlSocket() {
|
|||
|
||||
Debug::log(LOG, "Hypr socket started at {}", socketPath);
|
||||
|
||||
wl_event_loop_add_fd(g_pCompositor->m_sWLEventLoop, m_iSocketFD, WL_EVENT_READABLE, hyprCtlFDTick, nullptr);
|
||||
m_eventSource = wl_event_loop_add_fd(g_pCompositor->m_sWLEventLoop, m_iSocketFD, WL_EVENT_READABLE, hyprCtlFDTick, nullptr);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue