[gnome-control-center] user-accounts: Set timeouts on all realmd interface proxies
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] user-accounts: Set timeouts on all realmd interface proxies
- Date: Fri, 19 Oct 2012 08:47:12 +0000 (UTC)
commit 11b5c87d26d58afe104eb48e08156f36f66165a2
Author: Stef Walter <stefw gnome org>
Date: Thu Oct 18 18:40:00 2012 +0200
user-accounts: Set timeouts on all realmd interface proxies
Without this, we can get timeout problems during joining a domain.
This is a regression from when we refactored UmRealmManager to
use GDBusObjectManagerClient. Make sure to call
g_dbus_proxy_set_default_timeout() on all realmd interface
proxies whenever they show up.
https://bugzilla.gnome.org/show_bug.cgi?id=686390
panels/user-accounts/um-realm-manager.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/panels/user-accounts/um-realm-manager.c b/panels/user-accounts/um-realm-manager.c
index 904876f..59d57b3 100644
--- a/panels/user-accounts/um-realm-manager.c
+++ b/panels/user-accounts/um-realm-manager.c
@@ -97,6 +97,13 @@ on_object_added (GDBusObjectManager *manager,
GDBusObject *object,
gpointer user_data)
{
+ GList *interfaces, *l;
+
+ interfaces = g_dbus_object_get_interfaces (object);
+ for (l = interfaces; l != NULL; l = g_list_next (l))
+ on_interface_added (manager, object, l->data);
+ g_list_free_full (interfaces, g_object_unref);
+
if (is_realm_with_kerberos_and_membership (object)) {
g_debug ("Saw realm: %s", g_dbus_object_get_object_path (object));
g_signal_emit (user_data, signals[REALM_ADDED], 0, object);
@@ -187,10 +194,12 @@ on_provider_new (GObject *source,
provider = um_realm_provider_proxy_new_finish (result, &error);
closure->manager->provider = provider;
- if (error == NULL)
+ if (error == NULL) {
+ g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (closure->manager->provider), -1);
g_debug ("Created realm manager");
- else
+ } else {
g_simple_async_result_take_error (async, error);
+ }
g_simple_async_result_complete (async);
g_object_unref (async);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]