Skip to content

Commit

Permalink
fix #21931 Mesh calculator crash when used with face dataset
Browse files Browse the repository at this point in the history
  • Loading branch information
PeterPetrik committed Apr 29, 2019
1 parent 699cff0 commit 4bc8aff
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
12 changes: 7 additions & 5 deletions src/analysis/mesh/qgsmeshcalcutils.cpp
Expand Up @@ -61,11 +61,13 @@ std::shared_ptr<QgsMeshMemoryDatasetGroup> QgsMeshCalcUtils::create( const QStri
for ( int value_i = 0; value_i < count; ++value_i )
ds->values[value_i] = block.value( value_i );

const QgsMeshDataBlock active = dp->areFacesActive( index, 0, dp->faceCount() );
Q_ASSERT( active.count() == dp->faceCount() );
for ( int value_i = 0; value_i < dp->faceCount(); ++value_i )
ds->active[value_i] = active.active( value_i );

if ( grp->type == QgsMeshDatasetGroupMetadata::DataOnVertices )
{
const QgsMeshDataBlock active = dp->areFacesActive( index, 0, dp->faceCount() );
Q_ASSERT( active.count() == dp->faceCount() );
for ( int value_i = 0; value_i < dp->faceCount(); ++value_i )
ds->active[value_i] = active.active( value_i );
}
grp->addDataset( ds );
}

Expand Down
2 changes: 1 addition & 1 deletion src/app/mesh/qgsmeshcalculatordialog.cpp
Expand Up @@ -248,7 +248,7 @@ void QgsMeshCalculatorDialog::mExpressionTextEdit_textChanged()
}
else
{
mExpressionValidLabel->setText( tr( "Expression invalid" ) );
mExpressionValidLabel->setText( tr( "Expression invalid or datasets type not supported" ) );
}
mButtonBox->button( QDialogButtonBox::Ok )->setEnabled( false );
}
Expand Down

0 comments on commit 4bc8aff

Please sign in to comment.