Delete FileMetaDataToolTip using deleteLater() to prevent crashes

The problem was that Qt tried to deliver an 'Enter' event to the
dangling pointer that once pointed to the tool tip.

Many thanks to G. Christ for finding a way to reproduce this crash!

BUG: 282257
BUG: 310579
FIXED-IN: 4.9.4
This commit is contained in:
Frank Reininghaus 2012-11-24 05:08:25 +01:00
parent 96672c166f
commit 4220612684

View file

@ -104,7 +104,9 @@ void ToolTipManager::hideToolTip()
if (m_fileMetaDataToolTip) {
m_fileMetaDataToolTip->hide();
delete m_fileMetaDataToolTip;
// Do not delete the tool tip immediately to prevent crashes when
// QCoreApplication tries to deliver an 'Enter' event to it, see bug 310579.
m_fileMetaDataToolTip->deleteLater();
m_fileMetaDataToolTip = 0;
}
}