diff --git a/panels/user-accounts/um-account-dialog.c b/panels/user-accounts/um-account-dialog.c index 7fb44ce48..21a22aaed 100644 --- a/panels/user-accounts/um-account-dialog.c +++ b/panels/user-accounts/um-account-dialog.c @@ -655,6 +655,8 @@ enterprise_add_realm (UmAccountDialog *self, gchar *name; common = um_realm_object_get_common (realm); + g_return_if_fail (common != NULL); + realm_name = um_realm_common_get_name (common); /* @@ -793,6 +795,12 @@ enterprise_permit_user_login (UmAccountDialog *self) GVariant *options; common = um_realm_object_get_common (self->selected_realm); + if (common != NULL) { + g_debug ("Failed to register account: failed to get d-bus interface"); + show_error_dialog (self, _("Failed to register account"), NULL); + finish_action (self); + return; + } login = um_realm_calculate_login (common, gtk_entry_get_text (self->enterprise_login)); g_return_if_fail (login != NULL); diff --git a/panels/user-accounts/um-realm-manager.c b/panels/user-accounts/um-realm-manager.c index 08491602b..8a0a0e6bb 100644 --- a/panels/user-accounts/um-realm-manager.c +++ b/panels/user-accounts/um-realm-manager.c @@ -479,12 +479,14 @@ um_realm_is_configured (UmRealmObject *realm) { UmRealmCommon *common; const gchar *configured; - gboolean is; + gboolean is = FALSE; common = um_realm_object_get_common (realm); - configured = um_realm_common_get_configured (common); - is = configured != NULL && !g_str_equal (configured, ""); - g_object_unref (common); + if (common != NULL) { + configured = um_realm_common_get_configured (common); + is = configured != NULL && !g_str_equal (configured, ""); + g_object_unref (common); + } return is; } diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c index d9f7be0a3..a16b3b325 100644 --- a/panels/user-accounts/um-user-panel.c +++ b/panels/user-accounts/um-user-panel.c @@ -524,6 +524,9 @@ find_matching_realm (UmRealmManager *realm_manager, const gchar *login) gint i; common = um_realm_object_get_common (l->data); + if (common == NULL) + continue; + permitted_logins = um_realm_common_get_permitted_logins (common); for (i = 0; permitted_logins[i] != NULL; i++) { if (g_strcmp0 (permitted_logins[i], login) == 0)