From 041921ca265c5c09f40b3e3a79b41d5df93f7044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Wed, 14 Feb 2024 17:41:00 +0100 Subject: [PATCH] calls-manager: Connect listener past the list model filters The list model filters connect signal handlers for item-changed to refilter the list models. In order to enable protocols based on what the origin supports `on_origins_changed` needs these filtered results. Since it is a signal handler by itself connect it late so it runs later in the filter chain. Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/601 --- src/calls-manager.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/calls-manager.c b/src/calls-manager.c index d33a164..60c0792 100644 --- a/src/calls-manager.c +++ b/src/calls-manager.c @@ -601,12 +601,6 @@ calls_manager_init (CallsManager *self) self->origins = g_list_store_new (G_TYPE_LIST_MODEL); /* list of lists */ self->origins_flat = gtk_flatten_list_model_new (CALLS_TYPE_ORIGIN, G_LIST_MODEL (self->origins)); - g_signal_connect_object (self->origins_flat, - "items-changed", - G_CALLBACK (on_origins_changed), - self, - 0); - providers = calls_plugin_manager_get_providers (plugin_manager); g_signal_connect_object (providers, "items-changed", @@ -633,6 +627,12 @@ calls_manager_init (CallsManager *self) f_list); } + g_signal_connect_object (self->origins_flat, + "items-changed", + G_CALLBACK (on_origins_changed), + self, + 0); + self->dial_actions_by_protocol = g_hash_table_new_full (g_str_hash, g_str_equal, NULL,