mirror of
https://github.com/GerbilSoft/rvthtool.git
synced 2025-06-18 19:45:35 -04:00
[qrvthtool] MessageWidgetStack: Delete all MessageWidgets before clearing d->messageWidgets.
Otherwise, stray deletion signals could trigger messageWidget_destroyed_slot() after the std::set is deleted, which results in a crash.
This commit is contained in:
parent
46430299a7
commit
3dc3a473ed
@ -49,8 +49,9 @@ MessageWidgetStackPrivate::MessageWidgetStackPrivate(MessageWidgetStack *q)
|
||||
|
||||
MessageWidgetStackPrivate::~MessageWidgetStackPrivate()
|
||||
{
|
||||
// NOTE: The MessageWidgets are owned by MessageWidgetStack,
|
||||
// so we don't need to delete them manually.
|
||||
// Delete the MessageWidgets manually in order to prevent
|
||||
// deletion signals from triggering messageWidget_destroyed_slot().
|
||||
qDeleteAll(messageWidgets);
|
||||
messageWidgets.clear();
|
||||
}
|
||||
|
||||
@ -130,4 +131,3 @@ void MessageWidgetStack::messageWidget_destroyed_slot(QObject *obj)
|
||||
Q_D(MessageWidgetStack);
|
||||
d->messageWidgets.erase(qobject_cast<MessageWidget*>(obj));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user