Accepting request 876296 from home:1Antoine1:branches:GNOME:Factory

- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
  upon service restart when automatic login is enabled
  (glfo#accountsservice/accountsservice#55).

OBS-URL: https://build.opensuse.org/request/show/876296
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/accountsservice?expand=0&rev=144
This commit is contained in:
Dominique Leuenberger 2021-03-15 09:59:36 +00:00 committed by Git OBS Bridge
parent 9eedfc9852
commit 90bec468ee
3 changed files with 67 additions and 1 deletions

View File

@ -0,0 +1,56 @@
From 323707648fdefd11502faf44c2aa41d9b9500078 Mon Sep 17 00:00:00 2001
From: Iain Lane <iainl@gnome.org>
Date: Tue, 28 Apr 2020 16:47:00 +0100
Subject: [PATCH] act-user-manager: Watch for the daemon going away and coming
back
And set is-loaded accordingly. This causes properties to be invalidated
on the client side and then get re-fetched when the daemon comes back.
https://gitlab.freedesktop.org/accountsservice/accountsservice/issues/55
---
src/libaccountsservice/act-user-manager.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c
index 61a8719..a317507 100644
--- a/src/libaccountsservice/act-user-manager.c
+++ b/src/libaccountsservice/act-user-manager.c
@@ -2298,6 +2298,23 @@ act_user_manager_queue_load (ActUserManager *manager)
}
}
+static void
+on_name_owner_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ ActUserManager *manager = ACT_USER_MANAGER (user_data);
+ GDBusProxy *accounts_proxy = G_DBUS_PROXY (object);
+ g_autofree gchar *owner = NULL;
+
+ g_return_if_fail (ACT_IS_USER_MANAGER (manager));
+ g_return_if_fail (accounts_proxy != NULL);
+
+ owner = g_dbus_proxy_get_name_owner (accounts_proxy);
+
+ set_is_loaded (manager, owner != NULL);
+}
+
static gboolean
ensure_accounts_proxy (ActUserManager *manager)
{
@@ -2335,6 +2352,10 @@ ensure_accounts_proxy (ActUserManager *manager)
"user-deleted",
G_CALLBACK (on_user_removed_in_accounts_service),
manager);
+ g_signal_connect (priv->accounts_proxy,
+ "notify::g-name-owner",
+ G_CALLBACK (on_name_owner_changed),
+ manager);
return TRUE;
}
--
GitLab

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Mar 2 21:05:33 UTC 2021 - Antoine Belvire <antoine.belvire@opensuse.org>
- Add accountsservice-fix-gdm-crash.patch: Prevent crash of gdm
upon service restart when automatic login is enabled
(glfo#accountsservice/accountsservice#55).
-------------------------------------------------------------------
Tue Apr 14 00:28:10 UTC 2020 - Yifan Jiang <yfjiang@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package accountsservice
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -34,6 +34,8 @@ Patch1: accountsservice-filter-suse-accounts.patch
Patch2: accountsservice-read-root-user-cache.patch
# PATCH-FIX-UPSTREAM accountsservice-wtmp-io-improvements.patch boo#1139487 fezhang@suse.com -- Backports that improve wtmp io performance.
Patch3: accountsservice-wtmp-io-improvements.patch
# PATCH-FIX-UPSTREAM accountsservice-fix-gdm-crash.patch glfo#accountsservice/accountsservice#55 antoine.belvire@opensuse.org -- Prevent gdm crash upon service restart when autologin is enabled
Patch4: accountsservice-fix-gdm-crash.patch
## SLE and Leap only patches start at 1000
# PATCH-FEATURE-SLE as-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login.
@ -100,6 +102,7 @@ querying and manipulating user account information.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
# SLE and Leap patches start at 1000
%if 0%{?sle_version}