fix: don't free ptr removed from Entry::m_windowInfoMap
Check comment. Signed-off-by: black-desk <me@black-desk.cn>
This commit is contained in:
parent
ad07a96240
commit
a2f91cc525
@ -473,9 +473,15 @@ bool Entry::detachWindow(WindowInfoBase *info)
|
|||||||
info->setEntry(nullptr);
|
info->setEntry(nullptr);
|
||||||
XWindow winId = info->getXid();
|
XWindow winId = info->getXid();
|
||||||
if (m_windowInfoMap.contains(winId)) {
|
if (m_windowInfoMap.contains(winId)) {
|
||||||
WindowInfoBase *info = m_windowInfoMap[winId];
|
// WARN(black_desk): Address sanitizer report Dock::m_activeWindow use
|
||||||
|
// this pointer after free here.
|
||||||
|
// After comment out the delete, leak sanitizer report nothing. So I
|
||||||
|
// believe this pointer is free somewhere else.
|
||||||
|
|
||||||
|
// WindowInfoBase *info = m_windowInfoMap[winId];
|
||||||
m_windowInfoMap.remove(winId);
|
m_windowInfoMap.remove(winId);
|
||||||
delete info;
|
// delete info;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_windowInfoMap.isEmpty()) {
|
if (m_windowInfoMap.isEmpty()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user