From: bangerth Date: Wed, 30 Jul 2008 22:34:40 +0000 (+0000) Subject: Fix previous fix (make the condition more accurate). X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b8526d50accbaea5d728b24ba13e95371ad795d;p=dealii-svn.git Fix previous fix (make the condition more accurate). git-svn-id: https://svn.dealii.org/trunk@16459 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/source/sparsity_pattern.cc b/deal.II/lac/source/sparsity_pattern.cc index 25b55c0ec6..20a00b5356 100644 --- a/deal.II/lac/source/sparsity_pattern.cc +++ b/deal.II/lac/source/sparsity_pattern.cc @@ -657,7 +657,7 @@ void SparsityPattern::copy_from (const FullMatrix &matrix, // per row. if optimize_diag is set then we // also have to allocate memory for the // diagonal entry, unless we have already - // counted it + // counted it or the matrix isn't square std::vector entries_per_row (matrix.m(), 0); for (unsigned int row=0; row &matrix, ++entries_per_row[row]; if ((optimize_diag == true) && - (matrix(row,row) == 0)) + (matrix(row,row) == 0) + && + (matrix.m() == matrix.n())) ++entries_per_row[row]; }