aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/voip_calls_dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/voip_calls_dialog.cpp')
-rw-r--r--ui/qt/voip_calls_dialog.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index 9071102609..b8a54bd757 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -327,7 +327,10 @@ void VoipCallsDialog::tapReset(void *tapinfo_ptr)
VoipCallsDialog *voip_calls_dialog = static_cast<VoipCallsDialog *>(tapinfo->tap_data);
// Create new callsinfos queue in tapinfo. Current callsinfos are
- // in shown_callsinfos_.
+ // in shown_callsinfos_, so don't free the [shared] data stored in
+ // the queue, but do free the queue itself. (Do this before calling
+ // voip_calls_reset_all_taps(), as that frees the data in the queue.)
+ g_queue_free(voip_calls_dialog->tapinfo_.callsinfos);
voip_calls_dialog->tapinfo_.callsinfos = g_queue_new();
voip_calls_reset_all_taps(tapinfo);