[master/rhel7] Only run gtk actions in the gtk thread.
Vratislav Podzimek
vpodzime at redhat.com
Wed Feb 26 20:42:51 UTC 2014
On Wed, 2014-02-26 at 13:55 -0500, David Shea wrote:
> Move a couple of things out of the AnaDataTimeThread that don't depend
> on anything happening in the rest of the thread. Decorate _set_timezone
> so that it can be called from the thread.
>
> Resolves: rhbz#1067405
> ---
> pyanaconda/ui/gui/spokes/datetime_spoke.py | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py
> index 2ad9f95..103338c 100644
> --- a/pyanaconda/ui/gui/spokes/datetime_spoke.py
> +++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py
> @@ -395,6 +395,15 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
>
> self._regions_zones = timezone.get_all_regions_and_timezones()
>
> + # Set the initial sensitivity of the AM/PM toggle based on the time-type selected
> + self._radioButton24h.emit("toggled")
> +
> + if not flags.can_touch_runtime_system("modify system time and date"):
> + self._set_date_time_setting_sensitive(False)
> +
> + self._config_dialog = NTPconfigDialog(self.data)
> + self._config_dialog.initialize()
> +
> threadMgr.add(AnacondaThread(name=constants.THREAD_DATE_TIME,
> target=self._initialize))
>
> @@ -424,9 +433,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
> for city, xlated in sorted(cities, cmp=_compare_cities):
> self.add_to_store_xlated(self._citiesStore, city, xlated)
>
> - if self._radioButton24h.get_active():
> - self._set_amPm_part_sensitive(False)
> -
> self._update_datetime_timer_id = None
> if timezone.is_valid_timezone(self.data.timezone.timezone):
> self._set_timezone(self.data.timezone.timezone)
> @@ -436,12 +442,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
> self._set_timezone(DEFAULT_TZ)
> self.data.timezone.timezone = DEFAULT_TZ
>
> - if not flags.can_touch_runtime_system("modify system time and date"):
> - self._set_date_time_setting_sensitive(False)
> -
> - self._config_dialog = NTPconfigDialog(self.data)
> - self._config_dialog.initialize()
> -
> time_init_thread = threadMgr.get(constants.THREAD_TIME_INIT)
> if time_init_thread is not None:
> hubQ.send_message(self.__class__.__name__,
> @@ -531,6 +531,7 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
>
> self._ntpSwitch.set_active(ntp_working)
>
> + @gtk_action_nowait
> def _set_timezone(self, timezone):
> """
> Sets timezone to the city/region comboboxes and the timezone map.
ACK. But for the rhel7 branch you'll need a bug number.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list