anaconda/bugfix-Cancel-planned-manual-update-of-system-time-on-turni.patch

41 lines
1.8 KiB
Diff
Raw Permalink Normal View History

2023-06-06 18:32:16 +08:00
From c21fd65251a0154e2816f1505910b9c99f0661be Mon Sep 17 00:00:00 2001
From: Radek Vykydal <rvykydal@redhat.com>
Date: Tue, 9 Nov 2021 09:33:45 +0100
Subject: [PATCH] Cancel planned manual update of system time on turning ntp on
The PR is based on a PR opened by bitcoffee who spotted the issue:
"If we do not cancel the timer, the time may be incorrectly changed by
the timer after the NTP service updates the time"
---
pyanaconda/ui/gui/spokes/datetime_spoke.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py
index 09deabb..8ebc5bb 100644
--- a/pyanaconda/ui/gui/spokes/datetime_spoke.py
+++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py
@@ -1059,8 +1059,22 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
def _show_no_ntp_server_warning(self):
self.set_warning(_("You have no working NTP server configured"))
+ def _cancel_planned_update(self):
+ """Cancel system time update planned by manual setting"""
+ # cancel system time update
+ if self._start_updating_timer:
+ self._start_updating_timer.cancel()
+ self._start_updating_timer = None
+ # re-enable UI update because it will not be done by the
+ # system time update we've just cancelled
+ if not self._update_datetime_timer:
+ self._update_datetime_timer = Timer()
+ self._update_datetime_timer.timeout_sec(1, self._update_datetime)
+
def on_ntp_switched(self, switch, *args):
if switch.get_active():
+ self._cancel_planned_update()
+
#turned ON
if not conf.system.can_set_time_synchronization:
#cannot touch runtime system, not much to do here