Fix crash in attribute table when action column is visible and edit is

toggled
This commit is contained in:
Nyall Dawson 2018-03-27 10:40:30 +10:00
parent 1efb3cb9b0
commit 3d8dd4913c

View File

@ -449,14 +449,13 @@ void QgsAttributeTableView::onActionColumnItemPainted( const QModelIndex &index
void QgsAttributeTableView::recreateActionWidgets()
{
QMap< QModelIndex, QWidget * > newWidgets;
QMap< QModelIndex, QWidget * >::const_iterator it = mActionWidgets.constBegin();
for ( ; it != mActionWidgets.constEnd(); ++it )
{
it.value()->deleteLater(); //?
QWidget *widget = createActionWidget( mFilterModel->data( it.key(), QgsAttributeTableModel::FeatureIdRole ).toLongLong() );
newWidgets.insert( it.key(), widget );
setIndexWidget( it.key(), widget );
// ownership of widget was transferred by initial call to setIndexWidget - clearing
// the index widget will delete the old widget safely
// they should then be recreated by onActionColumnItemPainted
setIndexWidget( it.key(), nullptr );
}
mActionWidgets = newWidgets;
mActionWidgets.clear();
}