diff --git a/libinterp/corefcn/graphics.cc b/libinterp/corefcn/graphics.cc --- a/libinterp/corefcn/graphics.cc +++ b/libinterp/corefcn/graphics.cc @@ -9738,7 +9738,23 @@ patch::properties::update_data () if (pervertex) for (int kk = 0; kk < fvc.columns (); kk++) - cd(ii, jj, kk) = fvc(row, kk); + try { + cd.checkelem(ii, jj, kk) = fvc.checkelem(row, kk); + } catch (...) { + std::cerr << "fvc indices (row, kk): " << row << ", " << kk << std::endl; + std::cerr << "cd indices (ii, jj, kk): " << ii << ", " << jj << ", " << kk << std::endl; + std::cerr << "cd.dims: " << cd.dims().str() << std::endl; + std::cerr << "fvc.dims: " << fvc.dims().str() << std::endl; + std::cerr << "idx.dims: " << idx.dims().str() << std::endl; + ColumnVector idx_cv (idx.as_column ()); + double idx_min = idx_cv.min ()-1; + double idx_max = idx_cv.max ()-1; + std::cerr << "idx.min/max - 1: " << idx_min << ", " << idx_max << std::endl; + std::cerr << "ii limit (idx.rows): " << idx.rows () << std::endl; + std::cerr << "jj limit (nfaces): " << nfaces << std::endl; + std::cerr << "kk limit (fvc.columns): " << fvc.columns () << std::endl; + throw; + } } }