[calls/gnome-41] Let provider plugin decide whether to automatically hang up secondary calls
- From: Evangelos Ribeiro Tzaras <devrtz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [calls/gnome-41] Let provider plugin decide whether to automatically hang up secondary calls
- Date: Thu, 28 Oct 2021 12:34:15 +0000 (UTC)
commit 7d4e44f91b03b73acb8b04838b61a904ef665eea
Author: Evangelos Ribeiro Tzaras <devrtz fortysixandtwo eu>
Date: Thu Oct 14 16:17:34 2021 +0200
Let provider plugin decide whether to automatically hang up secondary calls
Revert "manager: hang up secondary calls"
This reverts commit 94345e09165bc944505c84bfa84dd57a70321b5b and moves that
functionality to the ModemManager plugin.
Fixes #290
(cherry picked from commit 94d730c3edb13a414116f6e1202ddbec1f4a6eca)
plugins/mm/calls-mm-origin.c | 6 ++++++
src/calls-manager.c | 10 ----------
2 files changed, 6 insertions(+), 10 deletions(-)
---
diff --git a/plugins/mm/calls-mm-origin.c b/plugins/mm/calls-mm-origin.c
index 5e30bb80..26ed3798 100644
--- a/plugins/mm/calls-mm-origin.c
+++ b/plugins/mm/calls-mm-origin.c
@@ -465,6 +465,12 @@ add_call (CallsMMOrigin *self,
}
g_debug ("Call `%s' added", path);
+
+ /* FIXME: Hang up the call, since accepting a secondary call does not currently work.
+ * CallsMMCall[28822]: WARNING: Error accepting ModemManager call to `+4916XXXXXXXX':
GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed: This call was not ringing, cannot accept
+ */
+ if (g_hash_table_size (self->calls) > 1)
+ calls_call_hang_up (CALLS_CALL (call));
}
diff --git a/src/calls-manager.c b/src/calls-manager.c
index 24a53771..4b9f5dd7 100644
--- a/src/calls-manager.c
+++ b/src/calls-manager.c
@@ -58,7 +58,6 @@ struct _CallsManager
CallsContactsProvider *contacts_provider;
CallsManagerState state;
- CallsCall *primary_call;
CallsSettings *settings;
};
@@ -200,11 +199,6 @@ add_call (CallsManager *self, CallsCall *call, CallsOrigin *origin)
g_return_if_fail (CALLS_IS_CALL (call));
g_signal_emit (self, signals[SIGNAL_CALL_ADD], 0, call, origin);
-
- if (self->primary_call == NULL)
- self->primary_call = call;
- else
- calls_call_hang_up (call);
}
static void
@@ -216,9 +210,6 @@ remove_call (CallsManager *self, CallsCall *call, gchar *reason, CallsOrigin *or
/* We ignore the reason for now, because it doesn't give any usefull information */
g_signal_emit (self, signals[SIGNAL_CALL_REMOVE], 0, call, origin);
-
- if (self->primary_call == call)
- self->primary_call = NULL;
}
static void
@@ -666,7 +657,6 @@ calls_manager_init (CallsManager *self)
const gchar *dir;
self->state = CALLS_MANAGER_STATE_NO_PROVIDER;
- self->primary_call = NULL;
self->providers = g_hash_table_new_full (g_str_hash,
g_str_equal,
g_free,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]