[chronojump] Fixed more crashes on RaceAnalyzer capture since recent commits



commit d271eb63fb28cb4db8023b117382d17b09881e7e
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue May 10 18:33:54 2022 +0200

    Fixed more crashes on RaceAnalyzer capture since recent commits

 src/gui/cairo/raceAnalyzer.cs | 6 +++---
 src/runEncoder.cs             | 7 ++++++-
 2 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/src/gui/cairo/raceAnalyzer.cs b/src/gui/cairo/raceAnalyzer.cs
index 4e4100a3f..11bc8c710 100644
--- a/src/gui/cairo/raceAnalyzer.cs
+++ b/src/gui/cairo/raceAnalyzer.cs
@@ -119,7 +119,7 @@ public class CairoGraphRaceAnalyzer : CairoXY
                // 2) paint grid and write vaules on grid lines
                if(maxValuesChanged || forceRedraw)
                {
-                       if(segmentCalcs.Count == 0)
+                       if(segmentCalcs == null || segmentCalcs.Count == 0)
                        {
                                // do not show vertical grid lines if we do not pass any distance mark. Show 
only horizontal.
                                paintGrid(gridTypes.HORIZONTALLINES, true);
@@ -255,7 +255,7 @@ public class CairoGraphRaceAnalyzer : CairoXY
 
                // 3) paint points, paint smooth line, paint maximum mark
                pointsRadius = 1;
-               if( points_list != null &&
+               if( graphInited && points_list != null &&
                                (maxValuesChanged || forceRedraw || points_list.Count != points_list_painted) 
)
                {
                        // 3.a) paint points
@@ -317,7 +317,7 @@ public class CairoGraphRaceAnalyzer : CairoXY
                }
 
                // 4) paint triggers
-               if(triggerList != null && triggerList.Count() > 0)
+               if(graphInited && triggerList != null && triggerList.Count() > 0)
                        foreach(Trigger trigger in triggerList.GetList())
                                paintVerticalTriggerLine(g, trigger, textHeight -3);
 
diff --git a/src/runEncoder.cs b/src/runEncoder.cs
index 987192be9..7aaaf7196 100644
--- a/src/runEncoder.cs
+++ b/src/runEncoder.cs
@@ -503,7 +503,12 @@ public class RunEncoderSegmentCalcs
 
        public int Count
        {
-               get { return dist_l.Count; }
+               get {
+                       if(dist_l == null)
+                               return 0;
+                       else
+                               return dist_l.Count;
+               }
        }
 
        public List<double> Dist_l {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]