mirror of
https://github.com/GerbilSoft/rvthtool.git
synced 2025-06-19 03:55:37 -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()
|
MessageWidgetStackPrivate::~MessageWidgetStackPrivate()
|
||||||
{
|
{
|
||||||
// NOTE: The MessageWidgets are owned by MessageWidgetStack,
|
// Delete the MessageWidgets manually in order to prevent
|
||||||
// so we don't need to delete them manually.
|
// deletion signals from triggering messageWidget_destroyed_slot().
|
||||||
|
qDeleteAll(messageWidgets);
|
||||||
messageWidgets.clear();
|
messageWidgets.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,4 +131,3 @@ void MessageWidgetStack::messageWidget_destroyed_slot(QObject *obj)
|
|||||||
Q_D(MessageWidgetStack);
|
Q_D(MessageWidgetStack);
|
||||||
d->messageWidgets.erase(qobject_cast<MessageWidget*>(obj));
|
d->messageWidgets.erase(qobject_cast<MessageWidget*>(obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user