1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-17 07:46:03 +00:00

sip: Do not fail if CallsNetworkWatch is unavailable

In this case network changes will not be detected.
Additionally fall back to binding on all network interfaces (in this case a user
will have problems when using multiple network interfaces, but there is really
not much we can do without a functioning CallsNetworkWatch).
This commit is contained in:
Evangelos Ribeiro Tzaras 2021-09-16 16:51:42 +02:00
parent b5defda27f
commit 1718823b80

View file

@ -803,8 +803,10 @@ setup_nua (CallsSipOrigin *self)
if (!sip_test_env || sip_test_env[0] == '\0') {
CallsNetworkWatch *nw = calls_network_watch_get_default ();
ipv4_bind = calls_network_watch_get_ipv4 (nw);
ipv6_bind = calls_network_watch_get_ipv6 (nw);
if (nw) {
ipv4_bind = calls_network_watch_get_ipv4 (nw);
ipv6_bind = calls_network_watch_get_ipv6 (nw);
}
}
uuid = nua_generate_instance_identifier (self->ctx->home);
@ -1461,9 +1463,14 @@ calls_sip_origin_init (CallsSipOrigin *self)
{
const char *sip_test_env = g_getenv ("CALLS_SIP_TEST");
if (!sip_test_env || sip_test_env[0] == '\0')
g_signal_connect_swapped (calls_network_watch_get_default (), "network-changed",
G_CALLBACK (on_network_changed), self);
if (!sip_test_env || sip_test_env[0] == '\0') {
CallsNetworkWatch *nw = calls_network_watch_get_default ();
if (nw)
g_signal_connect_swapped (calls_network_watch_get_default (), "network-changed",
G_CALLBACK (on_network_changed), self);
else
g_warning ("Network watch unavailable. Unable to detect network changes.");
}
self->call_handles = g_hash_table_new (NULL, NULL);