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

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