From e710c1cce811026e23460335b3ceac29bd0babe2 Mon Sep 17 00:00:00 2001
From: Christoph Rettinger <christoph.rettinger@fau.de>
Date: Tue, 18 May 2021 08:41:59 +0200
Subject: [PATCH] Fixed possible divide by zero in mesh vtk writer and added
 case to test

---
 src/mesh_common/vtk/VTKMeshWriter.h | 2 +-
 tests/mesh/MeshVTKTest.cpp          | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesh_common/vtk/VTKMeshWriter.h b/src/mesh_common/vtk/VTKMeshWriter.h
index 1cbac3eed..5d6822c39 100644
--- a/src/mesh_common/vtk/VTKMeshWriter.h
+++ b/src/mesh_common/vtk/VTKMeshWriter.h
@@ -106,7 +106,7 @@ public:
    inline bool isFaceFilterSet()                         const { return static_cast<bool>(faceFilter_);        }
 
    void incrementTimeStep()      { ++timestep_; }
-   bool isWriteScheduled() const { return timestep_ % writeFrequency_ == 0; }
+   bool isWriteScheduled() const { return writeFrequency_ > 0 && timestep_ % writeFrequency_ == 0; }
 
 protected:
    void write( std::ostream & os ) const;
diff --git a/tests/mesh/MeshVTKTest.cpp b/tests/mesh/MeshVTKTest.cpp
index c602adc9d..e7efb707c 100644
--- a/tests/mesh/MeshVTKTest.cpp
+++ b/tests/mesh/MeshVTKTest.cpp
@@ -150,6 +150,11 @@ void test( const std::string & meshFile )
    meshWriterStatusfiltered.setFaceFilter( mesh::StatusFaceFilter< MeshType >( OpenMesh::Attributes::TAGGED ) );
 
    meshWriterStatusfiltered();
+
+
+   VTKMeshWriter< MeshType > meshWriterDeactivated( mesh, "mesh_vtk_test_deactivated", 0 );
+
+   meshWriterDeactivated();
 }
 
 
-- 
GitLab