From 71e55e0f6cb1c949656441ee4f90585590efc68f Mon Sep 17 00:00:00 2001 From: David Barth Date: Tue, 22 Sep 2015 09:40:12 +0200 Subject: ensure that the availability of a server gets signaled, even in the absence of an exec line --- src/main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 7c0a806..1d53edc 100644 --- a/src/main.c +++ b/src/main.c @@ -68,13 +68,17 @@ server_status_updated (Server * server, ServerState newstate, RemoteLogon * rl) GVariantBuilder builder; g_variant_builder_init(&builder, G_VARIANT_TYPE_ARRAY); - if (server_list_to_array(&builder, config_file_servers) > 0) { + gint servers = server_list_to_array(&builder, config_file_servers); + if (servers > 0) { array = g_variant_builder_end(&builder); } else { g_variant_builder_clear(&builder); array = g_variant_new_array(G_VARIANT_TYPE("(sssba(sbva{sv})a(si))"), NULL, 0); } + g_debug ("%d server(s) available", servers); + g_debug ("Signalling state change to: %d", newstate); + remote_logon_emit_servers_updated(rl, array); return; } @@ -167,6 +171,8 @@ handle_get_servers (RemoteLogon * rl, GDBusMethodInvocation * invocation, gpoint array = g_variant_new_array(G_VARIANT_TYPE("(sssba(sbva{sv})a(si))"), NULL, 0); } + g_debug ("handle_get_servers: returning %s", g_variant_print (array, FALSE)); + g_dbus_method_invocation_return_value(invocation, g_variant_new_tuple(&array, 1)); return TRUE; -- cgit v1.2.3