diff --git a/Fltk/graphicWindow.cpp b/Fltk/graphicWindow.cpp index c5b82d650e43c98c037ce1b3a7dd3c966cfc5938..0d30485acae1b1866fc8d278615346c320966915 100644 --- a/Fltk/graphicWindow.cpp +++ b/Fltk/graphicWindow.cpp @@ -371,8 +371,18 @@ static void status_pause_cb(Fl_Widget *w, void *data) static void status_rewind_cb(Fl_Widget *w, void *data) { if(!CTX::instance()->post.animCycle) { - for(unsigned int i = 0; i < PView::list.size(); i++) - opt_view_timestep(i, GMSH_SET | GMSH_GUI, 0); + for(unsigned int i = 0; i < PView::list.size(); i++) { + // skip empty steps + int numSteps = (int)opt_view_nb_timestep(i, GMSH_GET, 0); + int step = 0; + while(step < numSteps){ + if(PView::list[i]->getData()->hasTimeStep(step)) + break; + else + step++; + } + opt_view_timestep(i, GMSH_SET | GMSH_GUI, step); + } } else { view_in_cycle = 0;