From 6e9e7b067618a22795db3d9a97f60705b8046353 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Thu, 5 Jun 2014 16:59:29 +0200 Subject: Ignore false GSettings key change notifications Similar to GObject::notify, the GSettings::changed can be emitted even if a key didn't change. It's up to the user (aka evolution) to test for real changes, thus let's do it. It may have certain performance positive impact too. --- calendar/gui/e-day-view-time-item.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'calendar/gui/e-day-view-time-item.c') diff --git a/calendar/gui/e-day-view-time-item.c b/calendar/gui/e-day-view-time-item.c index f85b09eebd..b30951bb5b 100644 --- a/calendar/gui/e-day-view-time-item.c +++ b/calendar/gui/e-day-view-time-item.c @@ -727,16 +727,21 @@ edvti_second_zone_changed_cb (GSettings *settings, { EDayViewTimeItem *time_item = user_data; EDayView *day_view; + icaltimezone *second_zone; gchar *location; g_return_if_fail (user_data != NULL); g_return_if_fail (E_IS_DAY_VIEW_TIME_ITEM (time_item)); location = calendar_config_get_day_second_zone (); - time_item->priv->second_zone = - location ? icaltimezone_get_builtin_timezone (location) : NULL; + second_zone = location ? icaltimezone_get_builtin_timezone (location) : NULL; g_free (location); + if (second_zone == time_item->priv->second_zone) + return; + + time_item->priv->second_zone = second_zone; + day_view = e_day_view_time_item_get_day_view (time_item); gtk_widget_set_size_request ( day_view->time_canvas, -- cgit v1.2.3