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)
|