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

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