Hello community,

here is the log from the commit of package gdm for openSUSE:Factory checked in 
at 2018-01-24 15:25:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdm (Old)
 and      /work/SRC/openSUSE:Factory/.gdm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gdm"

Wed Jan 24 15:25:10 2018 rev:203 rq:568587 version:3.26.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/gdm/gdm.changes  2018-01-16 09:29:46.681046848 
+0100
+++ /work/SRC/openSUSE:Factory/.gdm.new/gdm.changes     2018-01-24 
15:25:16.741026156 +0100
@@ -1,0 +2,12 @@
+Fri Jan 19 10:27:26 UTC 2018 - [email protected]
+
+- Add gdm-disable-wayland-on-unsupported-chipsets.patch: let udev
+  write to a runtime config file to disable Wayland for gdm on
+  chipsets where Wayland is not supported yet, e.g. Cirrus
+  (boo#1059356, bgo#789081).
+- Update gdm-sysconfig-settings.patch: parts of this openSUSE
+  specific patch are splitted and merged into
+  gdm-disable-wayland-on-unsupported-chipsets.patch to push to
+  upstream,
+
+-------------------------------------------------------------------

New:
----
  gdm-disable-wayland-on-unsupported-chipsets.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdm.spec ++++++
--- /var/tmp/diff_new_pack.4eWGGs/_old  2018-01-24 15:25:18.444946456 +0100
+++ /var/tmp/diff_new_pack.4eWGGs/_new  2018-01-24 15:25:18.448946270 +0100
@@ -47,11 +47,13 @@
 Patch0:         gdm-workaround-boo971852.patch
 # PATCH-FIX-UPSTREAM gdm-nb-translations.patch [email protected] -- Update 
Norwegian Bokmål translations.
 Patch1:         gdm-nb-translations.patch
+# PATCH-FIX-UPSTREAM gdm-disable-wayland-on-unsupported-chipsets.patch 
boo#1059356 bgo#789081 [email protected] -- Disable Wayland on Cirrus chipsets
+Patch2:         gdm-disable-wayland-on-unsupported-chipsets.patch
+# WARNING: do not remove/significantly change patch3 without updating the 
relevant patch in accountsservice too
+# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 
[email protected] -- Read autologin options from /etc/sysconfig/displaymanager; 
note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
+Patch3:         gdm-sysconfig-settings.patch
 # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch [email protected] -- Use the 
/etc/X11/xdm/* scripts
 Patch7:         gdm-suse-xsession.patch
-# WARNING: do not remove/significantly change patch8 without updating the 
relevant patch in accountsservice too
-# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 
[email protected] -- Read autologin options from /etc/sysconfig/displaymanager; 
note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
-Patch8:         gdm-sysconfig-settings.patch
 # PATCH-NEEDS-REBASE PATCH-FEATURE-OPENSUSE gdm-passwordless-login.patch 
[email protected] -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig 
option
 Patch9:         gdm-passwordless-login.patch
 # PATCH-FIX-OPENSUSE gdm-default-wm.patch [email protected] -- Use sysconfig to 
know to which desktop to use by default
@@ -82,9 +84,6 @@
 BuildRequires:  pkgconfig
 BuildRequires:  pwdutils
 BuildRequires:  tcpd-devel
-%if !0%{?is_opensuse}
-BuildRequires:  translation-update-upstream
-%endif
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-server
 BuildRequires:  xorg-x11-server-extra
@@ -206,8 +205,9 @@
 #patch0 -p1
 %endif
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 %patch7 -p1
-%patch8 -p1
 %patch9 -p1
 %patch34 -p1
 %patch35 -p1
@@ -222,6 +222,7 @@
 
 %build
 NOCONFIGURE=1 sh autogen.sh
+autoreconf -fiv
 %configure\
         --disable-static \
         --libexecdir=%{_prefix}/lib/gdm \
@@ -382,6 +383,7 @@
 %{_libexecdir}/X11/displaymanagers/default-displaymanager
 %{_libexecdir}/X11/displaymanagers/gdm
 %ghost %{_sysconfdir}/alternatives/default-displaymanager
+%{_udevrulesdir}/61-gdm.rules
 
 %files -n libgdm1
 %{_libdir}/libgdm.so.*

++++++ gdm-disable-wayland-on-unsupported-chipsets.patch ++++++
Index: b/common/Makefile.am
===================================================================
--- a/common/Makefile.am        2018-01-19 19:38:52.241209373 +0800
+++ b/common/Makefile.am        2018-01-22 17:24:46.684883948 +0800
@@ -20,6 +20,8 @@
        -DGDM_DEFAULTS_CONF=\"$(GDM_DEFAULTS_CONF)\"    \
        -DGDM_CUSTOM_CONF=\"$(GDM_CUSTOM_CONF)\"        \
        -DGDM_OLD_CONF=\"$(GDM_OLD_CONF)\"              \
+       -DGDM_RUN_DIR=\"$(GDM_RUN_DIR)\"        \
+       -DGDM_RUNTIME_CONF=\"$(GDM_RUNTIME_CONF)\"      \
        -DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \
        $(COMMON_CFLAGS)                                \
        $(NULL)
Index: b/common/gdm-settings-desktop-backend.c
===================================================================
--- a/common/gdm-settings-desktop-backend.c     2018-01-19 19:38:52.241209373 
+0800
+++ b/common/gdm-settings-desktop-backend.c     2018-01-19 19:57:26.809006358 
+0800
@@ -46,12 +46,90 @@
         guint       save_id;
 };
 
+enum {
+        PROP_0,
+        PROP_FILENAME,
+};
+
 static void     gdm_settings_desktop_backend_class_init 
(GdmSettingsDesktopBackendClass *klass);
 static void     gdm_settings_desktop_backend_init       
(GdmSettingsDesktopBackend      *settings_desktop_backend);
 static void     gdm_settings_desktop_backend_finalize   (GObject               
         *object);
 
 G_DEFINE_TYPE (GdmSettingsDesktopBackend, gdm_settings_desktop_backend, 
GDM_TYPE_SETTINGS_BACKEND)
 
+static void
+_gdm_settings_desktop_backend_set_file_name (GdmSettingsDesktopBackend 
*backend,
+                                             const char                
*filename)
+{
+        gboolean res;
+        GError  *error;
+        char *contents;
+
+        backend->priv = GDM_SETTINGS_DESKTOP_BACKEND_GET_PRIVATE (backend);
+
+        g_free (backend->priv->filename);
+        backend->priv->filename = g_strdup (filename);
+
+        backend->priv->key_file = g_key_file_new ();
+
+        error = NULL;
+        res = g_key_file_load_from_file (backend->priv->key_file,
+                                         backend->priv->filename,
+                                         G_KEY_FILE_KEEP_COMMENTS | 
G_KEY_FILE_KEEP_TRANSLATIONS,
+                                         &error);
+        if (! res) {
+                g_warning ("Unable to load file '%s': %s", 
backend->priv->filename, error->message);
+        }
+
+        contents = g_key_file_to_data (backend->priv->key_file, NULL, NULL);
+
+        if (contents != NULL) {
+                g_debug ("GdmSettings: %s is:\n%s\n", backend->priv->filename, 
contents);
+                g_free (contents);
+        }
+
+}
+
+static void
+gdm_settings_desktop_backend_set_property (GObject      *object,
+                                           guint         prop_id,
+                                           const GValue *value,
+                                           GParamSpec   *pspec)
+{
+        GdmSettingsDesktopBackend *self;
+
+        self = GDM_SETTINGS_DESKTOP_BACKEND (object);
+
+        switch (prop_id) {
+                case PROP_FILENAME:
+                        _gdm_settings_desktop_backend_set_file_name (self, 
g_value_get_string (value));
+                        break;
+                default:
+                        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, 
pspec);
+                        break;
+        }
+}
+
+static void
+gdm_settings_desktop_backend_get_property (GObject      *object,
+                                           guint         prop_id,
+                                           GValue       *value,
+                                           GParamSpec   *pspec)
+{
+        GdmSettingsDesktopBackend *self;
+
+        self = GDM_SETTINGS_DESKTOP_BACKEND (object);
+
+        switch (prop_id) {
+                case PROP_FILENAME:
+                        g_value_set_string (value, self->priv->filename);
+                        break;
+                default:
+                        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, 
pspec);
+                        break;
+        }
+}
+
 static gboolean
 parse_key_string (const char *keystring,
                   char      **group,
@@ -308,41 +386,27 @@
         GObjectClass            *object_class = G_OBJECT_CLASS (klass);
         GdmSettingsBackendClass *backend_class = GDM_SETTINGS_BACKEND_CLASS 
(klass);
 
+        object_class->get_property = gdm_settings_desktop_backend_get_property;
+        object_class->set_property = gdm_settings_desktop_backend_set_property;
         object_class->finalize = gdm_settings_desktop_backend_finalize;
 
         backend_class->get_value = gdm_settings_desktop_backend_get_value;
         backend_class->set_value = gdm_settings_desktop_backend_set_value;
 
         g_type_class_add_private (klass, sizeof 
(GdmSettingsDesktopBackendPrivate));
+
+        g_object_class_install_property (object_class,
+                                         PROP_FILENAME,
+                                         g_param_spec_string ("filename",
+                                                              "File Name",
+                                                              "The name of the 
configuration file",
+                                                              NULL,
+                                                              
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 }
 
 static void
 gdm_settings_desktop_backend_init (GdmSettingsDesktopBackend *backend)
 {
-        gboolean res;
-        GError  *error;
-        char *contents;
-
-        backend->priv = GDM_SETTINGS_DESKTOP_BACKEND_GET_PRIVATE (backend);
-
-        backend->priv->key_file = g_key_file_new ();
-        backend->priv->filename = g_strdup (GDM_CUSTOM_CONF);
-
-        error = NULL;
-        res = g_key_file_load_from_file (backend->priv->key_file,
-                                         backend->priv->filename,
-                                         G_KEY_FILE_KEEP_COMMENTS | 
G_KEY_FILE_KEEP_TRANSLATIONS,
-                                         &error);
-        if (! res) {
-                g_warning ("Unable to load file '%s': %s", 
backend->priv->filename, error->message);
-        }
-
-        contents = g_key_file_to_data (backend->priv->key_file, NULL, NULL);
-
-        if (contents != NULL) {
-                g_debug ("GdmSettings: %s is:\n%s\n", backend->priv->filename, 
contents);
-                g_free (contents);
-        }
 }
 
 static void
@@ -365,11 +429,15 @@
 }
 
 GdmSettingsBackend *
-gdm_settings_desktop_backend_new (void)
+gdm_settings_desktop_backend_new (const char* filename)
 {
         GObject *object;
 
-        object = g_object_new (GDM_TYPE_SETTINGS_DESKTOP_BACKEND, NULL);
+        if (!g_file_test (GDM_RUNTIME_CONF, G_FILE_TEST_IS_REGULAR))
+                return NULL;
 
+        object = g_object_new (GDM_TYPE_SETTINGS_DESKTOP_BACKEND,
+                               "filename", filename,
+                               NULL);
         return GDM_SETTINGS_BACKEND (object);
 }
Index: b/common/gdm-settings-desktop-backend.h
===================================================================
--- a/common/gdm-settings-desktop-backend.h     2018-01-19 19:38:52.241209373 
+0800
+++ b/common/gdm-settings-desktop-backend.h     2018-01-19 19:38:57.757366406 
+0800
@@ -49,7 +49,7 @@
 
 GType                      gdm_settings_desktop_backend_get_type        (void);
 
-GdmSettingsBackend        *gdm_settings_desktop_backend_new             (void);
+GdmSettingsBackend        *gdm_settings_desktop_backend_new             (const 
char* filename);
 
 G_END_DECLS
 
Index: b/common/gdm-settings.c
===================================================================
--- a/common/gdm-settings.c     2018-01-19 19:38:52.241209373 +0800
+++ b/common/gdm-settings.c     2018-01-22 17:24:46.684883948 +0800
@@ -43,7 +43,7 @@
 
 struct GdmSettingsPrivate
 {
-        GdmSettingsBackend *backend;
+        GList *backends;
 };
 
 enum {
@@ -80,15 +80,28 @@
 {
         GError  *local_error;
         gboolean res;
+        GList   *l;
 
         g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
         g_return_val_if_fail (key != NULL, FALSE);
 
         local_error = NULL;
-        res = gdm_settings_backend_get_value (settings->priv->backend,
-                                              key,
-                                              value,
-                                              &local_error);
+
+        for (l = settings->priv->backends; l; l = g_list_next (l)) {
+                GdmSettingsBackend *backend = l->data;
+
+                if (local_error) {
+                        g_error_free (local_error);
+                        local_error = NULL;
+                }
+
+                res = gdm_settings_backend_get_value (backend,
+                                                      key,
+                                                      value,
+                                                      &local_error);
+                if (res)
+                        break;
+        }
         if (! res) {
                 g_propagate_error (error, local_error);
         }
@@ -104,6 +117,7 @@
 {
         GError  *local_error;
         gboolean res;
+        GList   *l;
 
         g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
         g_return_val_if_fail (key != NULL, FALSE);
@@ -111,10 +125,23 @@
         g_debug ("Setting value %s", key);
 
         local_error = NULL;
-        res = gdm_settings_backend_set_value (settings->priv->backend,
-                                              key,
-                                              value,
-                                              &local_error);
+
+        for (l = settings->priv->backends; l; l = g_list_next (l)) {
+                GdmSettingsBackend *backend = l->data;
+
+                if (local_error) {
+                        g_error_free (local_error);
+                        local_error = NULL;
+                }
+
+                res = gdm_settings_backend_set_value (backend,
+                                                      key,
+                                                      value,
+                                                      &local_error);
+                if (res)
+                        break;
+        }
+
         if (! res) {
                 g_propagate_error (error, local_error);
         }
@@ -162,13 +189,27 @@
 static void
 gdm_settings_init (GdmSettings *settings)
 {
+        GList *l;
+        GdmSettingsBackend *backend;
+
         settings->priv = GDM_SETTINGS_GET_PRIVATE (settings);
 
-        settings->priv->backend = gdm_settings_desktop_backend_new ();
-        g_signal_connect (settings->priv->backend,
-                          "value-changed",
-                          G_CALLBACK (backend_value_changed),
-                          settings);
+        backend = gdm_settings_desktop_backend_new (GDM_CUSTOM_CONF);
+        if (backend)
+                settings->priv->backends = g_list_prepend (NULL, backend);
+
+        backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
+        if (backend)
+                settings->priv->backends = g_list_prepend 
(settings->priv->backends, backend);
+
+        for (l = settings->priv->backends; l; l = g_list_next (l)) {
+                backend = l->data;
+
+                g_signal_connect (backend,
+                                  "value-changed",
+                                  G_CALLBACK (backend_value_changed),
+                                  settings);
+        }
 }
 
 static void
@@ -183,9 +224,9 @@
 
         g_return_if_fail (settings->priv != NULL);
 
-        if (settings->priv->backend != NULL) {
-                g_object_unref (settings->priv->backend);
-        }
+        g_list_foreach (settings->priv->backends, (GFunc) g_object_unref, 
NULL);
+        g_list_free (settings->priv->backends);
+        settings->priv->backends = NULL;
 
         settings_object = NULL;
 
Index: b/configure.ac
===================================================================
--- a/configure.ac      2018-01-19 19:38:52.241209373 +0800
+++ b/configure.ac      2018-01-22 17:26:30.991086798 +0800
@@ -1424,6 +1424,24 @@
 AC_SUBST(GDM_SCREENSHOT_DIR)
 
 dnl ---------------------------------------------------------------------------
+dnl - runtime conf
+dnl ---------------------------------------------------------------------------
+
+withval=""
+AC_ARG_WITH(runtime_conf,
+            AS_HELP_STRING([--with-runtime-conf=<FILENAME>],
+                           [FILENAME to give to runtime configuration file 
@<:@default=GDM_RUN_DIR/custom.conf@:>@]))
+
+if test x$withval != x; then
+       GDM_RUNTIME_CONF="$withval"
+else
+       GDM_RUNTIME_CONF="$GDM_RUN_DIR/custom.conf"
+fi
+
+AC_SUBST(GDM_RUNTIME_CONF)
+
+
+dnl ---------------------------------------------------------------------------
 dnl - Finish
 dnl ---------------------------------------------------------------------------
 
Index: b/data/61-gdm.rules
===================================================================
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
+++ b/data/61-gdm.rules 2018-01-22 17:25:13.997575149 +0800
@@ -0,0 +1,2 @@
+# disable Wayland on Cirrus chipsets
+ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", 
ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", 
RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf 
\"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
Index: b/data/Makefile.am
===================================================================
--- a/data/Makefile.am  2018-01-19 19:38:52.241209373 +0800
+++ b/data/Makefile.am  2018-01-19 19:38:57.761366519 +0800
@@ -161,12 +161,16 @@
 pam_files = $(pam_arch_files)
 endif
 
+udevrulesdir = $(prefix)/lib/udev/rules.d
+udevrules_DATA = 61-gdm.rules
+
 EXTRA_DIST +=                  \
        $(dconf_db_files)       \
        $(schemas_in_files)     \
        $(schemas_DATA)         \
        $(dbusconf_in_files)    \
        $(localealias_DATA)     \
+       $(udevrules_DATA)       \
        gdm.schemas.in.in       \
        gdm.conf-custom.in      \
        Xsession.in             \
++++++ gdm-sysconfig-settings.patch ++++++
--- /var/tmp/diff_new_pack.4eWGGs/_old  2018-01-24 15:25:18.580940095 +0100
+++ /var/tmp/diff_new_pack.4eWGGs/_new  2018-01-24 15:25:18.584939909 +0100
@@ -1,8 +1,8 @@
-Index: gdm-3.25.92/common/Makefile.am
+Index: b/common/Makefile.am
 ===================================================================
---- gdm-3.25.92.orig/common/Makefile.am
-+++ gdm-3.25.92/common/Makefile.am
-@@ -50,11 +50,15 @@ libgdmcommon_la_SOURCES =  \
+--- a/common/Makefile.am       2018-01-19 20:09:39.075556951 +0800
++++ b/common/Makefile.am       2018-01-19 20:10:57.572967891 +0800
+@@ -52,11 +52,15 @@
        gdm-settings-backend.h  \
        gdm-settings-desktop-backend.c  \
        gdm-settings-desktop-backend.h  \
@@ -18,10 +18,10 @@
        gdm-log.h               \
        gdm-log.c               \
        $(MKDTEMP_FILES)        \
-Index: gdm-3.25.92/common/gdm-settings-system-backend.c
+Index: b/common/gdm-settings-system-backend.c
 ===================================================================
---- /dev/null
-+++ gdm-3.25.92/common/gdm-settings-system-backend.c
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ b/common/gdm-settings-system-backend.c     2018-01-19 20:10:57.572967891 
+0800
 @@ -0,0 +1,369 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 + *
@@ -392,10 +392,10 @@
 +
 +        return GDM_SETTINGS_BACKEND (object);
 +}
-Index: gdm-3.25.92/common/gdm-settings-system-backend.h
+Index: b/common/gdm-settings-system-backend.h
 ===================================================================
---- /dev/null
-+++ gdm-3.25.92/common/gdm-settings-system-backend.h
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ b/common/gdm-settings-system-backend.h     2018-01-19 20:10:57.572967891 
+0800
 @@ -0,0 +1,56 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 + *
@@ -453,11 +453,11 @@
 +G_END_DECLS
 +
 +#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
-Index: gdm-3.25.92/common/gdm-settings.c
+Index: b/common/gdm-settings.c
 ===================================================================
---- gdm-3.25.92.orig/common/gdm-settings.c
-+++ gdm-3.25.92/common/gdm-settings.c
-@@ -38,12 +38,13 @@
+--- a/common/gdm-settings.c    2018-01-19 20:10:02.587982412 +0800
++++ b/common/gdm-settings.c    2018-01-19 20:12:09.186231713 +0800
+@@ -38,6 +38,7 @@
  #include "gdm-settings.h"
  
  #include "gdm-settings-desktop-backend.h"
@@ -465,127 +465,19 @@
  
  #define GDM_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
GDM_TYPE_SETTINGS, GdmSettingsPrivate))
  
- struct GdmSettingsPrivate
- {
--        GdmSettingsBackend *backend;
-+        GList *backends;
- };
+@@ -198,6 +199,8 @@
+         if (backend)
+                 settings->priv->backends = g_list_prepend (NULL, backend);
  
- enum {
-@@ -80,15 +81,29 @@ gdm_settings_get_value (GdmSettings *set
- {
-         GError  *local_error;
-         gboolean res;
-+        GList   *l;
- 
-         g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
-         g_return_val_if_fail (key != NULL, FALSE);
- 
-         local_error = NULL;
--        res = gdm_settings_backend_get_value (settings->priv->backend,
--                                              key,
--                                              value,
--                                              &local_error);
-+
-+        for (l = settings->priv->backends; l; l = g_list_next (l)) {
-+                GdmSettingsBackend *backend = l->data;
-+
-+                if (local_error) {
-+                        g_error_free (local_error);
-+                        local_error = NULL;
-+                }
-+
-+                res = gdm_settings_backend_get_value (backend,
-+                                                      key,
-+                                                      value,
-+                                                      &local_error);
-+                if (res)
-+                        break;
-+        }
-+
-         if (! res) {
-                 g_propagate_error (error, local_error);
-         }
-@@ -104,6 +119,7 @@ gdm_settings_set_value (GdmSettings *set
- {
-         GError  *local_error;
-         gboolean res;
-+        GList   *l;
- 
-         g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
-         g_return_val_if_fail (key != NULL, FALSE);
-@@ -111,10 +127,23 @@ gdm_settings_set_value (GdmSettings *set
-         g_debug ("Setting value %s", key);
- 
-         local_error = NULL;
--        res = gdm_settings_backend_set_value (settings->priv->backend,
--                                              key,
--                                              value,
--                                              &local_error);
-+
-+        for (l = settings->priv->backends; l; l = g_list_next (l)) {
-+                GdmSettingsBackend *backend = l->data;
-+
-+                if (local_error) {
-+                        g_error_free (local_error);
-+                        local_error = NULL;
-+                }
-+
-+                res = gdm_settings_backend_set_value (backend,
-+                                                      key,
-+                                                      value,
-+                                                      &local_error);
-+                if (res)
-+                        break;
-+        }
-+
-         if (! res) {
-                 g_propagate_error (error, local_error);
-         }
-@@ -162,13 +191,21 @@ backend_value_changed (GdmSettingsBacken
- static void
- gdm_settings_init (GdmSettings *settings)
- {
-+        GList *l;
-+
-         settings->priv = GDM_SETTINGS_GET_PRIVATE (settings);
- 
--        settings->priv->backend = gdm_settings_desktop_backend_new ();
--        g_signal_connect (settings->priv->backend,
--                          "value-changed",
--                          G_CALLBACK (backend_value_changed),
--                          settings);
-+        settings->priv->backends = g_list_prepend (NULL, 
gdm_settings_desktop_backend_new ());
 +        settings->priv->backends = g_list_prepend (settings->priv->backends, 
gdm_settings_system_backend_new ());
 +
-+        for (l = settings->priv->backends; l; l = g_list_next (l)) {
-+                GdmSettingsBackend *backend = l->data;
-+
-+                g_signal_connect (backend,
-+                                  "value-changed",
-+                                  G_CALLBACK (backend_value_changed),
-+                                  settings);
-+        }
- }
- 
- static void
-@@ -183,9 +220,9 @@ gdm_settings_finalize (GObject *object)
- 
-         g_return_if_fail (settings->priv != NULL);
- 
--        if (settings->priv->backend != NULL) {
--                g_object_unref (settings->priv->backend);
--        }
-+        g_list_foreach (settings->priv->backends, (GFunc) g_object_unref, 
NULL);
-+        g_list_free (settings->priv->backends);
-+        settings->priv->backends = NULL;
- 
-         settings_object = NULL;
- 
-Index: gdm-3.25.92/common/gdm-sysconfig.c
+         backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
+         if (backend)
+                 settings->priv->backends = g_list_prepend 
(settings->priv->backends, backend);
+Index: b/common/gdm-sysconfig.c
 ===================================================================
---- /dev/null
-+++ gdm-3.25.92/common/gdm-sysconfig.c
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ b/common/gdm-sysconfig.c   2018-01-19 20:10:57.572967891 +0800
 @@ -0,0 +1,484 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 + *
@@ -1071,10 +963,10 @@
 +        g_strfreev (lines);
 +        return result;
 +}
-Index: gdm-3.25.92/common/gdm-sysconfig.h
+Index: b/common/gdm-sysconfig.h
 ===================================================================
---- /dev/null
-+++ gdm-3.25.92/common/gdm-sysconfig.h
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ b/common/gdm-sysconfig.h   2018-01-19 20:10:57.572967891 +0800
 @@ -0,0 +1,43 @@
 +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 + *
@@ -1119,10 +1011,10 @@
 +G_END_DECLS
 +
 +#endif /* __GDM_SYSCONFIG_H */
-Index: gdm-3.25.92/data/gdm.conf-custom.in
+Index: b/data/gdm.conf-custom.in
 ===================================================================
---- gdm-3.25.92.orig/data/gdm.conf-custom.in
-+++ gdm-3.25.92/data/gdm.conf-custom.in
+--- a/data/gdm.conf-custom.in  2018-01-19 20:09:39.075556951 +0800
++++ b/data/gdm.conf-custom.in  2018-01-19 20:10:57.572967891 +0800
 @@ -1,4 +1,7 @@
  # GDM configuration storage
 +#


Reply via email to