summaryrefslogtreecommitdiff
path: root/geography/opencpn/patches/patch-plugins_grib_pi_src_GribUIDialog.cpp
blob: f1b5b7bd93a27828b885042d8d0b83a26db3602d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$NetBSD: patch-plugins_grib_pi_src_GribUIDialog.cpp,v 1.1 2016/06/16 15:52:56 bouyer Exp $

from https://github.com/OpenCPN/OpenCPN/pull/662
fix grib plugin timeline request from crashing when no grib file is loaded

--- plugins/grib_pi/src/GribUIDialog.cpp.orig
+++ plugins/grib_pi/src/GribUIDialog.cpp
@@ -1251,11 +1251,14 @@ wxDateTime GRIBUICtrlBar::TimelineTime()
         int tl = (m_TimeLineHours == 0) ? 0 : m_sTimeline->GetValue();
         int stepmin = m_OverlaySettings.GetMinFromIndex(m_OverlaySettings.m_SlicesPerUpdate);
         return MinTime() + wxTimeSpan( tl * stepmin / 60, (tl * stepmin) % 60 );
-    } else {
-        ArrayOfGribRecordSets *rsa = m_bGRIBActiveFile->GetRecordSetArrayPtr();
-        int index = m_cRecordForecast->GetCurrentSelection() < 1 ? 0 : m_cRecordForecast->GetCurrentSelection();
-        return rsa->Item(index).m_Reference_Time;
     }
+    
+    ArrayOfGribRecordSets *rsa = m_bGRIBActiveFile->GetRecordSetArrayPtr();
+    int index = m_cRecordForecast->GetCurrentSelection() < 1 ? 0 : m_cRecordForecast->GetCurrentSelection();
+    if(rsa && index<rsa->GetCount())
+        return rsa->Item(index).m_Reference_Time;        
+
+    return wxDateTime::Now();
 }
 
 wxDateTime GRIBUICtrlBar::MinTime()
@@ -1265,7 +1268,7 @@ wxDateTime GRIBUICtrlBar::MinTime()
         GribRecordSet &first = rsa->Item(0);
         return first.m_Reference_Time;
     }
-    return wxDateTime(0.0);
+    return wxDateTime::Now();
 }
 
 GribTimelineRecordSet* GRIBUICtrlBar::GetTimeLineRecordSet(wxDateTime time)