dyncasts should be checked to see if they returned null.
From: Erik Hovland <erik@hovland.org>
---
libs/libmythtv/firewiresignalmonitor.cpp | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/libs/libmythtv/firewiresignalmonitor.cpp b/libs/libmythtv/firewiresignalmonitor.cpp
index 529e251..d9c9a99 100644
a
|
b
|
void FirewireSignalMonitor::HandlePAT(const ProgramAssociationTable *pat) |
95 | 95 | AddFlags(kDTVSigMon_PATSeen); |
96 | 96 | |
97 | 97 | FirewireChannel *fwchan = dynamic_cast<FirewireChannel*>(channel); |
| 98 | if (!fwchan) |
| 99 | { |
| 100 | VERBOSE(VB_IMPORTANT, LOC_ERR + "HandlePAT() : " |
| 101 | "dynamic_cast(channel) failed"); |
| 102 | return; |
| 103 | } |
| 104 | |
98 | 105 | bool crc_bogus = !fwchan->GetFirewireDevice()->IsSTBBufferCleared(); |
99 | 106 | if (crc_bogus && stb_needs_to_wait_for_pat && |
100 | 107 | (stb_wait_for_pat_timer.elapsed() < (int)kBufferTimeout)) |
… |
… |
void FirewireSignalMonitor::RunTableMonitor(void) |
141 | 148 | { |
142 | 149 | stb_needs_to_wait_for_pat = true; |
143 | 150 | stb_wait_for_pat_timer.start(); |
144 | | dtvMonitorRunning = true; |
145 | 151 | |
146 | 152 | VERBOSE(VB_CHANNEL, LOC + "RunTableMonitor(): -- begin"); |
147 | 153 | |
… |
… |
void FirewireSignalMonitor::RunTableMonitor(void) |
151 | 157 | VERBOSE(VB_CHANNEL, LOC + "RunTableMonitor(): -- err end"); |
152 | 158 | dtvMonitorRunning = false; |
153 | 159 | return; |
154 | | } |
| 160 | } else |
| 161 | dtvMonitorRunning = true; |
155 | 162 | |
156 | 163 | FirewireDevice *dev = lchan->GetFirewireDevice(); |
157 | 164 | |
… |
… |
void FirewireSignalMonitor::UpdateValues(void) |
214 | 221 | stb_needs_to_wait_for_power = false; |
215 | 222 | |
216 | 223 | FirewireChannel *fwchan = dynamic_cast<FirewireChannel*>(channel); |
| 224 | if (!fwchan) |
| 225 | { |
| 226 | VERBOSE(VB_IMPORTANT, LOC_ERR + "UpdateValues() : " |
| 227 | "dynamic_cast(channel) failed"); |
| 228 | return; |
| 229 | } |
217 | 230 | |
218 | 231 | if (HasFlags(kFWSigMon_WaitForPower) && !HasFlags(kFWSigMon_PowerMatch)) |
219 | 232 | { |