diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-12-06 22:29:53 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2015-12-09 16:54:33 +0000 |
commit | afaf929d0da03a27ef8824eac3c6b45b4419b062 (patch) | |
tree | 72f4cf70904fa1162acea8d53e22f0ba413b43d1 /ui/gtk/voip_calls_dlg.c | |
parent | eb9d7ebb20976a57ba9693f5f7b5277675849471 (diff) | |
download | wireshark-afaf929d0da03a27ef8824eac3c6b45b4419b062.tar.gz |
Qt: various fixes to VoIP calls / RTP player windows
- Flush any remaining tapped packets before emitting captureFileRetapFinished().
This ensures that all packets have been treated before returning from retapPackets().
- Remove VoIP tap listeners when captureFileRetapFinished() is emitted.
This avoid summing stats each time the RTP player is opened, leading to wrong
information in VoIP calls window
- Change voip_calls_tapinfo_t redraw member from a boolean to bitmap so as to identify
which tap should call the tapinfo->tap_draw() callback. This allows fixing a race condition
where the RTP player can be empty in Qt UI
- Reset some more statistics in voip_calls_reset_all_taps()
Change-Id: Ie7681702c81d338185c1813f2d340a437edf3a04
Reviewed-on: https://code.wireshark.org/review/12474
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/gtk/voip_calls_dlg.c')
-rw-r--r-- | ui/gtk/voip_calls_dlg.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/ui/gtk/voip_calls_dlg.c b/ui/gtk/voip_calls_dlg.c index af92525116..58d0adae3b 100644 --- a/ui/gtk/voip_calls_dlg.c +++ b/ui/gtk/voip_calls_dlg.c @@ -131,7 +131,7 @@ voip_calls_get_info(void) 0, /* SIP */ 0, 0, 0, /* actrace */ FLOW_ALL, /* flow show option */ - FALSE }; + 0 }; if (!the_tapinfo_struct.session) { the_tapinfo_struct.session = cfile.epan; } @@ -850,7 +850,6 @@ voip_calls_dlg_draw(void *ptr _U_) { if (voip_calls_get_info()->redraw) { voip_calls_dlg_update(g_queue_peek_nth_link(voip_calls_get_info()->callsinfos, 0)); - voip_calls_get_info()->redraw = FALSE; } } @@ -919,9 +918,9 @@ voip_calls_dlg_init_taps(const char *dummy _U_, void* userdata _U_) reactivate_window(voip_calls_dlg); } - voip_calls_get_info()->redraw = TRUE; + voip_calls_get_info()->redraw = 1; voip_calls_dlg_draw(NULL); - voip_calls_get_info()->redraw = TRUE; + voip_calls_get_info()->redraw = 0; /* Scan for VoIP calls calls (redissect all packets) */ cf_retap_packets(&cfile); |