From 320fb6cc93f51c2ccb2ba9c61aac65477b1ce05d Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 11 Oct 2004 19:18:59 +0000 Subject: [PATCH] fix potential crash with TimeStepMin/TimeStepMax and empty views --- Graphics/Graph2D.cpp | 12 +++++++++--- Graphics/Post.cpp | 12 +++++++++--- Graphics/PostElement.cpp | 12 +++++++++--- Graphics/Scale.cpp | 12 +++++++++--- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/Graphics/Graph2D.cpp b/Graphics/Graph2D.cpp index 477613db57..f9e009aa93 100644 --- a/Graphics/Graph2D.cpp +++ b/Graphics/Graph2D.cpp @@ -1,4 +1,4 @@ -// $Id: Graph2D.cpp,v 1.36 2004-10-11 17:22:57 geuzaine Exp $ +// $Id: Graph2D.cpp,v 1.37 2004-10-11 19:18:59 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -120,8 +120,14 @@ static void Draw_Graph2D(Post_View * v, ValMax = v->CustomMax; break; case DRAW_POST_RANGE_PER_STEP: - ValMin = v->TimeStepMin[v->TimeStep]; - ValMax = v->TimeStepMax[v->TimeStep]; + if(v->TimeStepMin && v->TimeStepMax){ + ValMin = v->TimeStepMin[v->TimeStep]; + ValMax = v->TimeStepMax[v->TimeStep]; + } + else{ // possible if the view is empty + ValMin = v->Min; + ValMax = v->Max; + } break; } diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index 664d9eae2b..1387a7b833 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1,4 +1,4 @@ -// $Id: Post.cpp,v 1.78 2004-09-12 04:13:59 geuzaine Exp $ +// $Id: Post.cpp,v 1.79 2004-10-11 19:18:59 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -368,8 +368,14 @@ void Draw_Post(void) ValMax = v->CustomMax; break; case DRAW_POST_RANGE_PER_STEP: - ValMin = v->TimeStepMin[v->TimeStep]; - ValMax = v->TimeStepMax[v->TimeStep]; + if(v->TimeStepMin && v->TimeStepMax){ + ValMin = v->TimeStepMin[v->TimeStep]; + ValMax = v->TimeStepMax[v->TimeStep]; + } + else{ // possible if the view is empty + ValMin = v->Min; + ValMax = v->Max; + } break; } v->MinForDisplacement = ValMin; diff --git a/Graphics/PostElement.cpp b/Graphics/PostElement.cpp index 41d84466d7..074f4578ac 100644 --- a/Graphics/PostElement.cpp +++ b/Graphics/PostElement.cpp @@ -1,4 +1,4 @@ -// $Id: PostElement.cpp,v 1.43 2004-09-17 02:11:03 geuzaine Exp $ +// $Id: PostElement.cpp,v 1.44 2004-10-11 19:18:59 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -913,8 +913,14 @@ int GetScalarDataFromOtherView(int type, int nbnod, Post_View *v, double *d) v->MaxForDisplacement = v->CustomMax; break; case DRAW_POST_RANGE_PER_STEP: - v->MinForDisplacement = v2->TimeStepMin[v->TimeStep]; - v->MaxForDisplacement = v2->TimeStepMax[v->TimeStep]; + if(v->TimeStepMin && v->TimeStepMax){ + v->MinForDisplacement = v2->TimeStepMin[v->TimeStep]; + v->MaxForDisplacement = v2->TimeStepMax[v->TimeStep]; + } + else{ + v->MinForDisplacement = v2->Min; + v->MaxForDisplacement = v2->Max; + } break; } diff --git a/Graphics/Scale.cpp b/Graphics/Scale.cpp index 8cb44018f9..dc1ce04610 100644 --- a/Graphics/Scale.cpp +++ b/Graphics/Scale.cpp @@ -1,4 +1,4 @@ -// $Id: Scale.cpp,v 1.46 2004-10-11 19:02:46 geuzaine Exp $ +// $Id: Scale.cpp,v 1.47 2004-10-11 19:18:59 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -67,8 +67,14 @@ void draw_scale(Post_View * v, ValMax = v->CustomMax; break; case DRAW_POST_RANGE_PER_STEP: - ValMin = v->TimeStepMin[v->TimeStep]; - ValMax = v->TimeStepMax[v->TimeStep]; + if(v->TimeStepMin && v->TimeStepMax){ + ValMin = v->TimeStepMin[v->TimeStep]; + ValMax = v->TimeStepMax[v->TimeStep]; + } + else{ // possible of the view is empty + ValMin = v->Min; + ValMax = v->Max; + } break; case DRAW_POST_RANGE_DEFAULT: default: -- GitLab