aboutsummaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss@ulticom.com>2012-05-21 17:09:15 +0000
committerJeff Morriss <jeff.morriss@ulticom.com>2012-05-21 17:09:15 +0000
commit1828c717431e85ad32aa5bd8dd1e9ab362835457 (patch)
treea2ae6b880b0942c780eb589c1a40e9ea966f09f0 /file.c
parent78a170a5066a7e47ad874fdacc8f6ce5dd42c569 (diff)
Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7270 :
Don't mark frames as dependent upon a displayed frame unless the (supposedly) displayed frame is actually displayed. (Fix to r41214 <sigh>.) svn path=/trunk/; revision=42752
Diffstat (limited to 'file.c')
-rw-r--r--file.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/file.c b/file.c
index 92788adf03..fbc860f142 100644
--- a/file.c
+++ b/file.c
@@ -1127,11 +1127,16 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
if (refilter) {
fdata->flags.passed_dfilter = dfilter_apply_edt(dfcode, &edt) ? 1 : 0;
- /* This frame passed the display filter but it may depend on other
- * (potentially not displayed) frames. Find those frames and mark them
- * as depended upon.
- */
- g_slist_foreach(edt.pi.dependent_frames, find_and_mark_frame_depended_upon, cf);
+ if (fdata->flags.passed_dfilter) {
+ /* This frame passed the display filter but it may depend on other
+ * (potentially not displayed) frames. Find those frames and mark them
+ * as depended upon.
+ *
+ * (We don't have to do this if we're not filtering--that is, the
+ * 'else' case below.)
+ */
+ g_slist_foreach(edt.pi.dependent_frames, find_and_mark_frame_depended_upon, cf);
+ }
}
} else
fdata->flags.passed_dfilter = 1;