From c85291b09804ff06ef106f5fbbd209483b27a9d4 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Sat, 9 Nov 2024 21:44:19 +0000 Subject: [PATCH] Set preferred color scheme from GisDriver::startup() Previously, adw_style_manager_get_default() was called in main() in order to set the application's preference for the light style. This was incorrect because adw_init() was only (implicitly) called from GisDriver's startup() function, by way of chaining up to AdwApplication's startup(), and adw_style_manager_get_default() may only be used after adw_init() has been called. This becomes an active problem in GTK 4.17.0 which made accessing the default display (which this call does) before calling gtk_init() a fatal error. Fixes: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/223 --- gnome-initial-setup/gis-driver.c | 3 +++ gnome-initial-setup/gnome-initial-setup.c | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c index 52d5874c..63964cab 100644 --- a/gnome-initial-setup/gis-driver.c +++ b/gnome-initial-setup/gis-driver.c @@ -856,6 +856,9 @@ gis_driver_startup (GApplication *app) G_APPLICATION_CLASS (gis_driver_parent_class)->startup (app); + adw_style_manager_set_color_scheme (adw_style_manager_get_default (), + ADW_COLOR_SCHEME_PREFER_LIGHT); + if (driver->mode == GIS_DRIVER_MODE_NEW_USER) connect_to_gdm (driver); diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c index adb04075..debfd4ed 100644 --- a/gnome-initial-setup/gnome-initial-setup.c +++ b/gnome-initial-setup/gnome-initial-setup.c @@ -318,8 +318,6 @@ main (int argc, char *argv[]) gis_ensure_login_keyring (); driver = gis_driver_new (mode); - adw_style_manager_set_color_scheme (adw_style_manager_get_default (), - ADW_COLOR_SCHEME_PREFER_LIGHT); /* On first login, GNOME Shell offers to run a tour. If we also run Initial * Setup, the two immovable, centred windows will sit atop one another. -- GitLab