desktop/window: avoid uaf on instant removal of a window
ref https://github.com/hyprwm/Hyprland/discussions/12999
This commit is contained in:
parent
ac9df44788
commit
0b13d398fe
1 changed files with 5 additions and 5 deletions
|
|
@ -2648,15 +2648,15 @@ void CWindow::destroyWindow() {
|
|||
|
||||
m_xdgSurface.reset();
|
||||
|
||||
if (!m_fadingOut) {
|
||||
Log::logger->log(Log::DEBUG, "Unmapped {} removed instantly", m_self.lock());
|
||||
g_pCompositor->removeWindowFromVectorSafe(m_self.lock()); // most likely X11 unmanaged or sumn
|
||||
}
|
||||
|
||||
m_listeners.unmap.reset();
|
||||
m_listeners.destroy.reset();
|
||||
m_listeners.map.reset();
|
||||
m_listeners.commit.reset();
|
||||
|
||||
if (!m_fadingOut) {
|
||||
Log::logger->log(Log::DEBUG, "Unmapped {} removed instantly", m_self.lock());
|
||||
g_pCompositor->removeWindowFromVectorSafe(m_self.lock()); // most likely X11 unmanaged or sumn
|
||||
}
|
||||
}
|
||||
|
||||
void CWindow::activateX11() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue