From 5eb5ce9ed083c8778992f7a4866b6bf45e4ea806 2013-02-13 13:01:55 From: Miikka Heikkinen Date: 2013-02-13 13:01:55 Subject: [PATCH] Fix crash when signals connected to deleted PieChartItem are emitted Disconnect all signals connected to the PieChartItem when it is destroyed. Reviewed-by: Mika Salmela --- diff --git a/src/piechart/piechartitem.cpp b/src/piechart/piechartitem.cpp index 91b4c80..852fa81 100644 --- a/src/piechart/piechartitem.cpp +++ b/src/piechart/piechartitem.cpp @@ -58,6 +58,14 @@ PieChartItem::PieChartItem(QPieSeries *series, QGraphicsItem* item) PieChartItem::~PieChartItem() { // slices deleted automatically through QGraphicsItem + if (m_series) { + m_series->disconnect(this); + QPieSeriesPrivate::fromSeries(m_series)->disconnect(this); + } + foreach (QPieSlice *slice, m_sliceItems.keys()) { + slice->disconnect(this); + QPieSlicePrivate::fromSlice(slice)->disconnect(this); + } } void PieChartItem::setAnimation(PieAnimation *animation)