Blame SOURCES/0001-reftests-Enforce-default-settings.patch

de9956
From b541ad48d1c7060e2d38205d4874675e27578b9b Mon Sep 17 00:00:00 2001
de9956
From: Matthias Clasen <mclasen@redhat.com>
de9956
Date: Mon, 19 Jul 2021 13:10:31 -0400
de9956
Subject: [PATCH] reftests: Enforce default settings
de9956
de9956
Set all settings to their default values, so we
de9956
are less dependent on the environment to be set
de9956
up just right. In particular, this fixes animations
de9956
being disabled when we happen to run in a vm.
de9956
---
de9956
 testsuite/reftests/gtk-reftest.c | 36 ++++++++++++++++++++++++++++++++
de9956
 1 file changed, 36 insertions(+)
de9956
de9956
diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c
de9956
index 585e1c393d..1a51a9756b 100644
de9956
--- a/testsuite/reftests/gtk-reftest.c
de9956
+++ b/testsuite/reftests/gtk-reftest.c
de9956
@@ -368,6 +368,40 @@ add_test_for_file (GFile *file)
de9956
   g_list_free_full (files, g_object_unref);
de9956
 }
de9956
 
de9956
+static void
de9956
+enforce_default_settings (void)
de9956
+{
de9956
+  GtkSettings *settings;
de9956
+  GTypeClass *klass;
de9956
+  GParamSpec **pspecs;
de9956
+  guint n_pspecs;
de9956
+  int i;
de9956
+
de9956
+  settings = gtk_settings_get_default ();
de9956
+
de9956
+  klass = g_type_class_ref (G_OBJECT_TYPE (settings));
de9956
+
de9956
+  pspecs = g_object_class_list_properties (klass, &n_pspecs);
de9956
+  for (i = 0; i < n_pspecs; i++)
de9956
+    {
de9956
+      GParamSpec *pspec = pspecs[i];
de9956
+      const GValue *value;
de9956
+
de9956
+      if ((pspec->flags & G_PARAM_WRITABLE) == 0)
de9956
+        continue;
de9956
+
de9956
+      if (pspec->value_type == G_TYPE_HASH_TABLE)
de9956
+        continue;
de9956
+
de9956
+      value = g_param_spec_get_default_value (pspec);
de9956
+      g_object_set_property (settings, pspec->name, value);
de9956
+    }
de9956
+
de9956
+  g_free (pspecs);
de9956
+
de9956
+  g_type_class_unref (klass);
de9956
+}
de9956
+
de9956
 int
de9956
 main (int argc, char **argv)
de9956
 {
de9956
@@ -382,6 +416,8 @@ main (int argc, char **argv)
de9956
   if (!parse_command_line (&argc, &argv))
de9956
     return 1;
de9956
 
de9956
+  enforce_default_settings ();
de9956
+
de9956
   if (arg_base_dir)
de9956
     basedir = arg_base_dir;
de9956
   else
de9956
-- 
de9956
2.31.1
de9956