]> sigrok.org Git - pulseview.git/commitdiff
Do not fast_forward if there is no data at the minimum mip-map level
authorJoel Holdsworth <redacted>
Tue, 15 Jan 2013 18:55:49 +0000 (18:55 +0000)
committerJoel Holdsworth <redacted>
Tue, 15 Jan 2013 19:08:35 +0000 (19:08 +0000)
pv/data/logicsnapshot.cpp

index 5665d35f8c3d58916b3df6ed41c11227f13d39cf..a7a84cf916d1cad33d4f16fb60d7c45b3fbfacd0 100644 (file)
@@ -204,7 +204,10 @@ void LogicSnapshot::get_subsampled_edges(
        {
                //----- Continue to search -----//
                level = min_level;
        {
                //----- Continue to search -----//
                level = min_level;
-               fast_forward = true;
+
+               // We cannot fast-forward if there is no mip-map data at
+               // at the minimum level.
+               fast_forward = (_mip_map[level].data != NULL);
 
                if (min_length < MipMapScaleFactor)
                {
 
                if (min_length < MipMapScaleFactor)
                {
@@ -241,7 +244,8 @@ void LogicSnapshot::get_subsampled_edges(
                        // We can fast forward only if there was no change
                        const bool sample =
                                (get_sample(index) & sig_mask) != 0;
                        // We can fast forward only if there was no change
                        const bool sample =
                                (get_sample(index) & sig_mask) != 0;
-                       fast_forward = last_sample == sample;
+                       if (last_sample != sample)
+                               fast_forward = false;
                }
 
                if (fast_forward) {
                }
 
                if (fast_forward) {