diff options
Diffstat (limited to 'modules/gtk/call_window.c')
-rw-r--r-- | modules/gtk/call_window.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/gtk/call_window.c b/modules/gtk/call_window.c index 4e3797d..c520e51 100644 --- a/modules/gtk/call_window.c +++ b/modules/gtk/call_window.c @@ -251,8 +251,10 @@ static void mqueue_handler(int id, void *data, void *arg) break; case MQ_CLOSE: - ua_hangup(uag_current(), win->call, 0, NULL); - win->closed = true; + if (!win->closed) { + ua_hangup(uag_current(), win->call, 0, NULL); + win->closed = true; + } mem_deref(win); break; @@ -458,6 +460,7 @@ void call_window_closed(struct call_window *win, const char *reason) } call_window_set_status(win, status); win->transfer_dialog = mem_deref(win->transfer_dialog); + win->closed = true; } void call_window_ringing(struct call_window *win) |