X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=df09ff3b2ebc0b924a9158158de9a2362ab385db;hp=42c581d420122fd126fc9e7fb7d51b11f3b34648;hb=0a4162a4bd844574319f8b26b05f4fcdf837bb70;hpb=459db2c5cd2ab084dcf46f9e44c43916cb3ae9cf;ds=sidebyside diff --git a/pv/session.cpp b/pv/session.cpp index 42c581d4..df09ff3b 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -1031,6 +1031,8 @@ void Session::feed_in_analog(shared_ptr analog) void Session::data_feed_in(shared_ptr device, shared_ptr packet) { + static bool frame_began=false; + (void)device; assert(device); @@ -1052,6 +1054,7 @@ void Session::data_feed_in(shared_ptr device, case SR_DF_FRAME_BEGIN: feed_in_frame_begin(); + frame_began = true; break; case SR_DF_LOGIC: @@ -1072,6 +1075,7 @@ void Session::data_feed_in(shared_ptr device, } break; + case SR_DF_FRAME_END: case SR_DF_END: { { @@ -1079,7 +1083,10 @@ void Session::data_feed_in(shared_ptr device, cur_logic_segment_.reset(); cur_analog_segments_.clear(); } - frame_ended(); + if (frame_began) { + frame_began = false; + frame_ended(); + } break; } default: