summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib/number_sink_impl.cc
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2014-07-26 12:07:56 -0400
committerTom Rondeau <tom@trondeau.com>2014-07-26 12:20:27 -0400
commitad3d36772d659ca1656e00bf89ecd5c02db582bc (patch)
tree99178604e76d22d757a6caab31747d0049d40723 /gr-qtgui/lib/number_sink_impl.cc
parent737ec8954ab3236b9f931fe2741a71a932a05cb1 (diff)
qtgui: fixes a problem with the number sink when fed NaN or +/-inf.
Addresses issue #704.
Diffstat (limited to 'gr-qtgui/lib/number_sink_impl.cc')
-rw-r--r--gr-qtgui/lib/number_sink_impl.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/gr-qtgui/lib/number_sink_impl.cc b/gr-qtgui/lib/number_sink_impl.cc
index 1be2653053..2c31b60fec 100644
--- a/gr-qtgui/lib/number_sink_impl.cc
+++ b/gr-qtgui/lib/number_sink_impl.cc
@@ -296,7 +296,8 @@ namespace gr {
for(int n = 0; n < d_nconnections; n++) {
float *in = (float*)input_items[n];
for(int i = 0; i < noutput_items; i++) {
- d_avg_value[n] = d_iir[n].filter(in[i]);
+ if(std::isfinite(in[i]))
+ d_avg_value[n] = d_iir[n].filter(in[i]);
}
}
}
@@ -310,8 +311,11 @@ namespace gr {
d[n] = d_avg_value[n];
}
else {
- for(int n = 0; n < d_nconnections; n++)
- d[n] = ((float*)input_items[n])[0];
+ for(int n = 0; n < d_nconnections; n++) {
+ float x = ((float*)input_items[n])[0];
+ if(std::isfinite(x))
+ d[n] = x;
+ }
}
d_qApplication->postEvent(d_main_gui,
new NumberUpdateEvent(d));