mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-02 16:25:59 +01:00
window: avoid uaf on updateWindow decos
TODO, make these pointers SP to avoid this in the future. fixes #5909
This commit is contained in:
parent
6ccc22194c
commit
598bbd186b
2 changed files with 3 additions and 0 deletions
|
@ -211,6 +211,8 @@ void CWindow::updateWindowDecos() {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto& wd : decos) {
|
for (auto& wd : decos) {
|
||||||
|
if (std::find_if(m_dWindowDecorations.begin(), m_dWindowDecorations.end(), [wd](const auto& other) { return other.get() == wd; }) == m_dWindowDecorations.end())
|
||||||
|
continue;
|
||||||
wd->updateWindow(m_pSelf.lock());
|
wd->updateWindow(m_pSelf.lock());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -332,6 +332,7 @@ class CWindow {
|
||||||
PHLWINDOWREF m_pLastCycledWindow;
|
PHLWINDOWREF m_pLastCycledWindow;
|
||||||
|
|
||||||
// Window decorations
|
// Window decorations
|
||||||
|
// TODO: make this a SP.
|
||||||
std::deque<std::unique_ptr<IHyprWindowDecoration>> m_dWindowDecorations;
|
std::deque<std::unique_ptr<IHyprWindowDecoration>> m_dWindowDecorations;
|
||||||
std::vector<IHyprWindowDecoration*> m_vDecosToRemove;
|
std::vector<IHyprWindowDecoration*> m_vDecosToRemove;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue