Backport MR #89 to fix 'disabled' timezone page setting timezone

This commit is contained in:
Adam Williamson 2020-06-23 15:22:19 -07:00
parent e3b3925c7a
commit 5c282c346b
2 changed files with 70 additions and 2 deletions

View File

@ -0,0 +1,61 @@
From 599be8a1b9795b951807e62ff11d033bef6ea666 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 23 Jun 2020 14:54:49 -0400
Subject: [PATCH] timezone: Don't set timezone if tz page is skipped
At the moment we still set the timezone from geoclue
even if the page is supposed to be skipped.
This commit defers setting up the geoclue proxy until the
page is added to the stack.
Fixes https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106
---
.../pages/timezone/gis-timezone-page.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/gnome-initial-setup/pages/timezone/gis-timezone-page.c b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
index ca1088e..9c964c7 100644
--- a/gnome-initial-setup/pages/timezone/gis-timezone-page.c
+++ b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
@@ -387,6 +387,17 @@ stop_geolocation (GisTimezonePage *page)
g_clear_object (&priv->geoclue_simple);
}
+static void
+page_added (GisTimezonePage *page)
+{
+ GisTimezonePagePrivate *priv = gis_timezone_page_get_instance_private (page);
+
+ if (priv->geoclue_cancellable == NULL) {
+ priv->geoclue_cancellable = g_cancellable_new ();
+ get_location_from_geoclue_async (page);
+ }
+}
+
static void
gis_timezone_page_constructed (GObject *object)
{
@@ -418,10 +429,7 @@ gis_timezone_page_constructed (GObject *object)
priv->clock_format = g_settings_get_enum (settings, CLOCK_FORMAT_KEY);
g_object_unref (settings);
- priv->geoclue_cancellable = g_cancellable_new ();
-
set_location (page, NULL);
- get_location_from_geoclue_async (page);
priv->search_entry_text_changed_id =
g_signal_connect (priv->search_entry, "changed",
@@ -432,6 +440,8 @@ gis_timezone_page_constructed (GObject *object)
G_CALLBACK (entry_mapped), page);
g_signal_connect (priv->map, "location-changed",
G_CALLBACK (map_location_changed), page);
+ g_signal_connect (GTK_WIDGET (page), "parent-set",
+ G_CALLBACK (page_added), NULL);
gtk_widget_show (GTK_WIDGET (page));
}
--
2.27.0

View File

@ -6,7 +6,7 @@
Name: gnome-initial-setup
Version: 3.37.1
Release: 2%{?dist}
Release: 3%{?dist}
Summary: Bootstrapping your OS
License: GPLv2+
@ -17,6 +17,10 @@ Patch0: honor-firstboot-disabled.patch
# Fix preselection of input methods
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/83
Patch1: 0001-Fix-default-keyboard-layout-input-source-choice-prio.patch
# Fix supposedly-disabled timezone page trying to set timezone
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/89
Patch2: 0001-timezone-Don-t-set-timezone-if-tz-page-is-skipped.patch
BuildRequires: meson
BuildRequires: gcc
@ -111,7 +115,10 @@ useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null ||
%{_datadir}/gnome-initial-setup/vendor.conf
%changelog
* Mon May 04 2020 Adam Williamson <awilliam@redhat.com> - 3.37.1-1.1
* Tue Jun 23 2020 Adam Williamson <awilliam@redhat.com> - 3.37.1-3
- Backport MR #89 to fix 'disabled' timezone page setting timezone
* Mon May 04 2020 Adam Williamson <awilliam@redhat.com> - 3.37.1-2
- Backport MR #83 to fix preselection of input methods
* Thu Apr 30 2020 Kalev Lember <klember@redhat.com> - 3.37.1-1