Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
88dbe108a8 |
@@ -606,11 +606,16 @@ notify_window_visible_cb (GtkWidget *window,
|
||||
CallsManager *manager = calls_manager_get_default ();
|
||||
|
||||
g_return_if_fail (CALLS_IS_APPLICATION (application));
|
||||
g_return_if_fail (CALLS_IS_CALL_WINDOW (window));
|
||||
|
||||
gboolean calls_visible = gtk_widget_is_visible (GTK_WIDGET (application->call_window));
|
||||
gboolean main_visible = gtk_widget_is_visible (GTK_WIDGET (application->main_window));
|
||||
/* The UI is being closed, hang up active calls */
|
||||
if (!gtk_widget_is_visible (window))
|
||||
if (!calls_visible)
|
||||
calls_manager_hang_up_all_calls (manager);
|
||||
|
||||
/* No windows (of interest) are open -> exit */
|
||||
if (!main_visible && !calls_visible)
|
||||
app_shutdown (G_APPLICATION (application));
|
||||
}
|
||||
|
||||
|
||||
@@ -687,6 +692,12 @@ start_proper (CallsApplication *self)
|
||||
self,
|
||||
G_CONNECT_AFTER);
|
||||
|
||||
g_signal_connect_object (self->main_window,
|
||||
"notify::visible",
|
||||
G_CALLBACK (notify_window_visible_cb),
|
||||
self,
|
||||
G_CONNECT_AFTER);
|
||||
|
||||
g_signal_connect (G_OBJECT (self->main_window),
|
||||
"hide",
|
||||
G_CALLBACK (on_main_window_hidden),
|
||||
|
Reference in New Issue
Block a user