From 9debe3352135af9f53d1e7a979f5a46b5410dd60 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 3 Sep 2013 21:47:27 -0500 Subject: Protect against invalid begin or end dates --- src/planner.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/planner.c b/src/planner.c index 1643651..6cbf80c 100644 --- a/src/planner.c +++ b/src/planner.c @@ -184,6 +184,8 @@ indicator_datetime_planner_get_appointments (IndicatorDatetimePlanner * self, GD GSList * appointments; g_return_val_if_fail (INDICATOR_IS_DATETIME_PLANNER (self), NULL); + g_return_val_if_fail (begin != NULL, NULL); + g_return_val_if_fail (end != NULL, NULL); appointments = INDICATOR_DATETIME_PLANNER_GET_CLASS (self)->get_appointments (self, begin, end); return g_slist_sort (appointments, compare_appointments_by_start_time); -- cgit v1.2.3 From 2a97f6029b467702a362d0b1b7108717366d903e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 3 Sep 2013 21:55:23 -0500 Subject: Don't unref NULLs --- src/service.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/service.c b/src/service.c index fec2bb1..421e3dd 100644 --- a/src/service.c +++ b/src/service.c @@ -577,9 +577,9 @@ get_all_appointments_this_month (IndicatorDatetimeService * self) if (p->planner != NULL) { - GDateTime * calendar_date; - GDateTime * begin; - GDateTime * end; + GDateTime * calendar_date = NULL; + GDateTime * begin = NULL; + GDateTime * end = NULL; int y, m, d; calendar_date = get_calendar_date (self); @@ -593,9 +593,12 @@ get_all_appointments_this_month (IndicatorDatetimeService * self) begin, end); - g_date_time_unref (end); - g_date_time_unref (begin); - g_date_time_unref (calendar_date); + if (end != NULL) + g_date_time_unref (end); + if (begin != NULL) + g_date_time_unref (begin); + if (calendar_date != NULL) + g_date_time_unref (calendar_date); } return appointments; -- cgit v1.2.3 From 86333cb7f91ef594088ded32927454940745d96d Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 5 Sep 2013 13:24:28 -0500 Subject: in our private T_() function, avoid a couple of unnecessary strdup & frees --- src/utils.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/utils.c b/src/utils.c index b99de94..50d896d 100644 --- a/src/utils.c +++ b/src/utils.c @@ -134,9 +134,9 @@ T_(const char *msg) LC_MESSAGES directory, so we won't find any translation there. */ char *message_locale = g_strdup(setlocale(LC_MESSAGES, NULL)); - char *time_locale = g_strdup(setlocale(LC_TIME, NULL)); + const char *time_locale = setlocale (LC_TIME, NULL); char *language = g_strdup(g_getenv("LANGUAGE")); - char *rv; + const char *rv; if (language) g_unsetenv("LANGUAGE"); setlocale(LC_MESSAGES, time_locale); @@ -149,7 +149,6 @@ T_(const char *msg) if (language) g_setenv("LANGUAGE", language, TRUE); g_free(message_locale); - g_free(time_locale); g_free(language); return rv; } -- cgit v1.2.3 From 1272fff388d793a44dc166850e5f1005bb5741b0 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 5 Sep 2013 13:25:05 -0500 Subject: in service.c, use g_variant_new_take_string() instead of g_variant_new_string() where appropriate --- src/service.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/service.c b/src/service.c index c36e996..d7ae22f 100644 --- a/src/service.c +++ b/src/service.c @@ -499,12 +499,11 @@ create_desktop_header_state (IndicatorDatetimeService * self) g_variant_builder_init (&b, G_VARIANT_TYPE("a{sv}")); g_variant_builder_add (&b, "{sv}", "accessible-desc", g_variant_new_string (str)); - g_variant_builder_add (&b, "{sv}", "label", g_variant_new_string (str)); + g_variant_builder_add (&b, "{sv}", "label", g_variant_new_take_string (str)); g_variant_builder_add (&b, "{sv}", "visible", g_variant_new_boolean (visible)); /* cleanup */ g_date_time_unref (now); - g_free (str); g_free (fmt); return g_variant_builder_end (&b); } @@ -528,7 +527,6 @@ create_phone_header_state (IndicatorDatetimeService * self) now = indicator_datetime_service_get_localtime (self); fmt = get_terse_time_format_string (now); label = g_date_time_format (now, fmt); - g_variant_builder_add (&b, "{sv}", "label", g_variant_new_string (label)); /* icon */ if ((has_alarms = service_has_alarms (self))) @@ -545,14 +543,12 @@ create_phone_header_state (IndicatorDatetimeService * self) else a11y = g_strdup (label); g_variant_builder_add (&b, "{sv}", "accessible-desc", - g_variant_new_string (a11y)); + g_variant_new_take_string (a11y)); - /* visible */ g_variant_builder_add (&b, "{sv}", "visible", g_variant_new_boolean (TRUE)); + g_variant_builder_add (&b, "{sv}", "label", g_variant_new_take_string (label)); /* cleanup */ - g_free (a11y); - g_free (label); g_date_time_unref (now); return g_variant_builder_end (&b); } -- cgit v1.2.3 From f96fb5c43dcfa24f155bda145fe53c1d87669a36 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 6 Sep 2013 12:45:52 -0500 Subject: Removing check for NULL items --- src/service.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/service.c b/src/service.c index 421e3dd..5fba01e 100644 --- a/src/service.c +++ b/src/service.c @@ -593,12 +593,9 @@ get_all_appointments_this_month (IndicatorDatetimeService * self) begin, end); - if (end != NULL) - g_date_time_unref (end); - if (begin != NULL) - g_date_time_unref (begin); - if (calendar_date != NULL) - g_date_time_unref (calendar_date); + g_date_time_unref (end); + g_date_time_unref (begin); + g_date_time_unref (calendar_date); } return appointments; -- cgit v1.2.3 From 55ed2b1b22607f3b9618640294d233eee15db767 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 6 Sep 2013 12:47:27 -0500 Subject: Making sure we have 0.1 between our bounds on the seconds --- src/service.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/service.c b/src/service.c index 5fba01e..c1f8752 100644 --- a/src/service.c +++ b/src/service.c @@ -585,9 +585,9 @@ get_all_appointments_this_month (IndicatorDatetimeService * self) calendar_date = get_calendar_date (self); g_date_time_get_ymd (calendar_date, &y, &m, &d); begin = g_date_time_new_local (y, m, 1, - 0, 0, 0); + 0, 0, 0.1); end = g_date_time_new_local (y, m, g_date_get_days_in_month(m,y), - 23, 59, 0); + 23, 59, 59.9); appointments = indicator_datetime_planner_get_appointments (p->planner, begin, -- cgit v1.2.3 From dfc6f669720cd38250c57bf2efff97caedfaca81 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 6 Sep 2013 12:52:30 -0500 Subject: Make all seconds a tenth of a second in bounds --- src/service.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/service.c b/src/service.c index c46beeb..f6d1d59 100644 --- a/src/service.c +++ b/src/service.c @@ -227,7 +227,7 @@ calculate_seconds_until_next_fifteen_minutes (GDateTime * now) g_date_time_get_day_of_month (next), g_date_time_get_hour (next), g_date_time_get_minute (next), - 1); + 0.1); str = g_date_time_format (start_of_next, "%F %T"); g_debug ("%s %s the next timestamp rebuild will be at %s", G_STRLOC, G_STRFUNC, str); @@ -299,7 +299,7 @@ calculate_milliseconds_until_next_minute (GDateTime * now) g_date_time_get_day_of_month (next), g_date_time_get_hour (next), g_date_time_get_minute (next), - 0); + 0.1); interval_usec = g_date_time_difference (start_of_next, now); interval_msec = (interval_usec + 999) / 1000; @@ -1650,8 +1650,8 @@ update_appointment_lists (IndicatorDatetimeService * self) /* get all the appointments in the calendar month */ g_date_time_get_ymd (calendar_date, &y, &m, &d); - begin = g_date_time_new_local (y, m, 1, 0, 0, 0); - end = g_date_time_new_local (y, m, g_date_get_days_in_month(m,y), 23, 59, 0); + begin = g_date_time_new_local (y, m, 1, 0, 0, 0.1); + end = g_date_time_new_local (y, m, g_date_get_days_in_month(m,y), 23, 59, 59.9); if (begin && end) indicator_datetime_planner_get_appointments (planner, begin, end, on_calendar_appointments_ready, -- cgit v1.2.3 From 188c34d1c975b35f8ec36442ca971520014c419b Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 07:05:02 -0500 Subject: copyediting: use G_VARIANT_TYPE_VARDICT instead of G_VARIANT_TYPE('a{sv}') --- src/service.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/service.c b/src/service.c index c46beeb..364463a 100644 --- a/src/service.c +++ b/src/service.c @@ -497,7 +497,7 @@ create_desktop_header_state (IndicatorDatetimeService * self) g_warning ("%s", str); } - g_variant_builder_init (&b, G_VARIANT_TYPE("a{sv}")); + g_variant_builder_init (&b, G_VARIANT_TYPE_VARDICT); g_variant_builder_add (&b, "{sv}", "accessible-desc", g_variant_new_string (str)); g_variant_builder_add (&b, "{sv}", "label", g_variant_new_string (str)); g_variant_builder_add (&b, "{sv}", "visible", g_variant_new_boolean (visible)); @@ -522,7 +522,7 @@ create_phone_header_state (IndicatorDatetimeService * self) gboolean has_alarms; gchar * a11y; - g_variant_builder_init (&b, G_VARIANT_TYPE("a{sv}")); + g_variant_builder_init (&b, G_VARIANT_TYPE_VARDICT); /* label */ now = indicator_datetime_service_get_localtime (self); -- cgit v1.2.3 From fd1d19cbdc2d29d8ada8a304221cabf6cac95e7a Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 07:06:58 -0500 Subject: in service.c, remove unnecessary function get_time_format_mode() --- src/service.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/src/service.c b/src/service.c index 364463a..1aed147 100644 --- a/src/service.c +++ b/src/service.c @@ -433,34 +433,12 @@ typedef enum } TimeFormatMode; -/* gets the user's time-format from GSettings */ -static TimeFormatMode -get_time_format_mode (IndicatorDatetimeService * self) -{ - char * str; - TimeFormatMode mode; - - str = g_settings_get_string (self->priv->settings, SETTINGS_TIME_FORMAT_S); - - if (!g_strcmp0 ("12-hour", str)) - mode = TIME_FORMAT_MODE_12_HOUR; - else if (!g_strcmp0 ("24-hour", str)) - mode = TIME_FORMAT_MODE_24_HOUR; - else if (!g_strcmp0 ("custom", str)) - mode = TIME_FORMAT_MODE_CUSTOM; - else - mode = TIME_FORMAT_MODE_LOCALE_DEFAULT; - - g_free (str); - return mode; -} - static gchar * get_header_label_format_string (IndicatorDatetimeService * self) { char * fmt; - const TimeFormatMode mode = get_time_format_mode (self); GSettings * s = self->priv->settings; + const TimeFormatMode mode = g_settings_get_enum (s, SETTINGS_TIME_FORMAT_S); if (mode == TIME_FORMAT_MODE_CUSTOM) { -- cgit v1.2.3 From c81e028e66f6d574e6657f782d90493857192975 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 07:07:51 -0500 Subject: both service.c and utils.c have an enum for the time format mode, so share it in settings-shared.h --- src/service.c | 9 --------- src/settings-shared.h | 9 +++++++++ src/utils.c | 15 ++++----------- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/src/service.c b/src/service.c index 1aed147..0d8192a 100644 --- a/src/service.c +++ b/src/service.c @@ -424,15 +424,6 @@ skew_timer_func (gpointer gself) **** ***/ -typedef enum -{ - TIME_FORMAT_MODE_LOCALE_DEFAULT, - TIME_FORMAT_MODE_12_HOUR, - TIME_FORMAT_MODE_24_HOUR, - TIME_FORMAT_MODE_CUSTOM -} -TimeFormatMode; - static gchar * get_header_label_format_string (IndicatorDatetimeService * self) { diff --git a/src/settings-shared.h b/src/settings-shared.h index 27ce34c..afcccb6 100644 --- a/src/settings-shared.h +++ b/src/settings-shared.h @@ -22,6 +22,15 @@ with this program. If not, see . #ifndef __DATETIME_SETTINGS_SHARED_H__ #define __DATETIME_SETTINGS_SHARED_H__ +typedef enum +{ + TIME_FORMAT_MODE_LOCALE_DEFAULT, + TIME_FORMAT_MODE_12_HOUR, + TIME_FORMAT_MODE_24_HOUR, + TIME_FORMAT_MODE_CUSTOM +} +TimeFormatMode; + #define SETTINGS_INTERFACE "com.canonical.indicator.datetime" #define SETTINGS_SHOW_CLOCK_S "show-clock" #define SETTINGS_TIME_FORMAT_S "time-format" diff --git a/src/utils.c b/src/utils.c index b99de94..5b1f58f 100644 --- a/src/utils.c +++ b/src/utils.c @@ -348,14 +348,6 @@ get_full_date_format_string (gboolean show_day, gboolean show_date) * */ -enum -{ - SETTINGS_TIME_LOCALE = 0, - SETTINGS_TIME_12_HOUR = 1, - SETTINGS_TIME_24_HOUR = 2, - SETTINGS_TIME_CUSTOM = 3 -}; - const gchar * get_full_time_format_string (void) { @@ -370,15 +362,16 @@ get_full_time_format_string (void) switch (g_settings_get_enum (settings, SETTINGS_TIME_FORMAT_S)) { - case SETTINGS_TIME_LOCALE: + case TIME_FORMAT_MODE_LOCALE_DEFAULT: twelvehour = is_locale_12h(); break; - case SETTINGS_TIME_24_HOUR: + case TIME_FORMAT_MODE_24_HOUR: twelvehour = FALSE; break; - default: + case TIME_FORMAT_MODE_12_HOUR: + case TIME_FORMAT_MODE_CUSTOM: twelvehour = TRUE; break; } -- cgit v1.2.3 From e2096aa3f7d1a78ad0a8968a29529a6609a6fd5a Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 07:10:53 -0500 Subject: in the utils functions, add a GSettings argument for the functions that use a GSettings s.t. they don't have to keep reloading settings in a temporary every time they're called. --- src/datetime-prefs-locations.c | 5 ++++- src/datetime-prefs.c | 20 ++++++++++---------- src/service.c | 13 +++++++------ src/utils.c | 29 ++++++++++++++--------------- src/utils.h | 11 +++++++---- 5 files changed, 42 insertions(+), 36 deletions(-) diff --git a/src/datetime-prefs-locations.c b/src/datetime-prefs-locations.c index bc044a2..ca3d9b5 100644 --- a/src/datetime-prefs-locations.c +++ b/src/datetime-prefs-locations.c @@ -417,6 +417,7 @@ update_times (GtkWidget * dlg) g_signal_handlers_block_by_func (store, save_when_idle, dlg); + GSettings * settings = g_settings_new (SETTINGS_INTERFACE); GtkTreeIter iter; if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) { GDateTime * now = g_date_time_new_now_local (); @@ -428,7 +429,7 @@ update_times (GtkWidget * dlg) if (strzone && *strzone) { GTimeZone * tz = g_time_zone_new (strzone); GDateTime * now_tz = g_date_time_to_timezone (now, tz); - gchar * format = generate_full_format_string_at_time (now, now_tz); + gchar * format = generate_full_format_string_at_time (now, now_tz, settings); gchar * time_str = g_date_time_format (now_tz, format); gchar * old_time_str; @@ -447,6 +448,8 @@ update_times (GtkWidget * dlg) g_date_time_unref (now); } + g_object_unref (settings); + g_signal_handlers_unblock_by_func (store, save_when_idle, dlg); return TRUE; diff --git a/src/datetime-prefs.c b/src/datetime-prefs.c index 25c9b2a..9b48ca9 100644 --- a/src/datetime-prefs.c +++ b/src/datetime-prefs.c @@ -70,6 +70,7 @@ struct _IndicatorDatetimePanelPrivate gboolean user_edited_time; gboolean changing_time; GtkWidget * loc_dlg; + GSettings * settings; CcTimezoneCompletion * completion; }; @@ -214,7 +215,7 @@ toggle_ntp (GtkWidget * radio, GParamSpec * pspec, IndicatorDatetimePanel * self static void sync_entry (IndicatorDatetimePanel * self, const gchar * location) { - gchar * name = get_current_zone_name (location); + gchar * name = get_current_zone_name (location, self->priv->settings); gtk_entry_set_text (GTK_ENTRY (self->priv->tz_entry), name); g_free (name); @@ -599,11 +600,9 @@ timezone_selected (GtkEntryCompletion * widget, GtkTreeModel * model, zone = cc_timezone_map_get_timezone_at_coords (self->priv->tzmap, lon, lat); } - GSettings * conf = g_settings_new (SETTINGS_INTERFACE); gchar * tz_name = g_strdup_printf ("%s %s", zone, name); - g_settings_set_string (conf, SETTINGS_TIMEZONE_NAME_S, tz_name); + g_settings_set_string (self->priv->settings, SETTINGS_TIMEZONE_NAME_S, tz_name); g_free (tz_name); - g_object_unref (conf); cc_timezone_map_set_timezone (self->priv->tzmap, zone); @@ -623,7 +622,7 @@ entry_focus_out (GtkEntry * entry, GdkEventFocus * event, IndicatorDatetimePanel gchar * zone; g_object_get (location, "zone", &zone, NULL); - gchar * name = get_current_zone_name (zone); + gchar * name = get_current_zone_name (zone, self->priv->settings); gboolean correct = (g_strcmp0 (gtk_entry_get_text (entry), name) == 0); g_free (name); g_free (zone); @@ -639,14 +638,18 @@ entry_focus_out (GtkEntry * entry, GdkEventFocus * event, IndicatorDatetimePanel static void indicator_datetime_panel_init (IndicatorDatetimePanel * self) { + GError * error; + GSettings * conf; + self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, INDICATOR_DATETIME_TYPE_PANEL, IndicatorDatetimePanelPrivate); - GError * error = NULL; + self->priv->settings = conf = g_settings_new (SETTINGS_INTERFACE); self->priv->builder = gtk_builder_new (); gtk_builder_set_translation_domain (self->priv->builder, GETTEXT_PACKAGE); + error = NULL; gtk_builder_add_from_file (self->priv->builder, DATETIME_DIALOG_UI_FILE, &error); if (error != NULL) { /* We have to abort, we can't continue without the ui file */ @@ -655,8 +658,6 @@ indicator_datetime_panel_init (IndicatorDatetimePanel * self) return; } - GSettings * conf = g_settings_new (SETTINGS_INTERFACE); - /* Add policykit button */ GtkWidget * polkit_button = gtk_lock_button_new (NULL); @@ -755,8 +756,6 @@ indicator_datetime_panel_init (IndicatorDatetimePanel * self) #undef WIG - g_object_unref (conf); - gtk_widget_show_all (panel); gtk_container_add (GTK_CONTAINER (self), panel); } @@ -769,6 +768,7 @@ indicator_datetime_panel_dispose (GObject * object) g_clear_object (&priv->builder); g_clear_object (&priv->proxy); + g_clear_object (&priv->settings); if (priv->loc_dlg) { gtk_widget_destroy (priv->loc_dlg); diff --git a/src/service.c b/src/service.c index 0d8192a..3340337 100644 --- a/src/service.c +++ b/src/service.c @@ -439,7 +439,7 @@ get_header_label_format_string (IndicatorDatetimeService * self) { gboolean show_day = g_settings_get_boolean (s, SETTINGS_SHOW_DAY_S); gboolean show_date = g_settings_get_boolean (s, SETTINGS_SHOW_DATE_S); - fmt = generate_full_format_string (show_day, show_date); + fmt = generate_full_format_string (show_day, show_date, s); } return fmt; @@ -690,6 +690,7 @@ service_has_alarms (IndicatorDatetimeService * self) static char * get_appointment_time_format (struct IndicatorDatetimeAppt * appt, GDateTime * now, + GSettings * settings, gboolean terse) { char * fmt; @@ -698,7 +699,7 @@ get_appointment_time_format (struct IndicatorDatetimeAppt * appt, if (appt->is_daily) { const char * time_fmt = terse ? get_terse_time_format_string (appt->begin) - : get_full_time_format_string (); + : get_full_time_format_string (settings); fmt = join_date_and_time_format_strings (_("Daily"), time_fmt); } else if (full_day) @@ -710,7 +711,7 @@ get_appointment_time_format (struct IndicatorDatetimeAppt * appt, else { fmt = terse ? generate_terse_format_string_at_time (now, appt->begin) - : generate_full_format_string_at_time (now, appt->begin); + : generate_full_format_string_at_time (now, appt->begin, settings); } return fmt; @@ -730,7 +731,7 @@ add_appointments (IndicatorDatetimeService * self, GMenu * menu, gboolean terse) for (l=appts, i=0; l!=NULL && inext, i++) { struct IndicatorDatetimeAppt * appt = l->data; - char * fmt = get_appointment_time_format (appt, now, terse); + char * fmt = get_appointment_time_format (appt, now, self->priv->settings, terse); const gint64 unix_time = g_date_time_to_unix (appt->begin); GMenuItem * menu_item; @@ -970,7 +971,7 @@ create_locations_section (IndicatorDatetimeService * self) const char * tz = indicator_datetime_timezone_get_timezone (detected_timezones[i]); if (tz && *tz) { - gchar * name = get_current_zone_name (tz); + gchar * name = get_current_zone_name (tz, p->settings); locations = locations_add (locations, tz, name, visible); g_free (name); } @@ -1012,7 +1013,7 @@ create_locations_section (IndicatorDatetimeService * self) detailed_action = g_strdup_printf ("indicator.set-location::%s %s", loc->zone, loc->name); - fmt = generate_full_format_string_at_time (now, loc->local_time); + fmt = generate_full_format_string_at_time (now, loc->local_time, p->settings); menu_item = g_menu_item_new (label, detailed_action); g_menu_item_set_attribute (menu_item, "x-canonical-type", diff --git a/src/utils.c b/src/utils.c index 5b1f58f..f8aa1f8 100644 --- a/src/utils.c +++ b/src/utils.c @@ -82,19 +82,18 @@ split_settings_location (const gchar * location, gchar ** zone, gchar ** name) } gchar * -get_current_zone_name (const gchar * location) +get_current_zone_name (const gchar * location, GSettings * settings) { gchar * new_zone, * new_name; + gchar * tz_name; gchar * old_zone, * old_name; gchar * rv; split_settings_location (location, &new_zone, &new_name); - GSettings * conf = g_settings_new (SETTINGS_INTERFACE); - gchar * tz_name = g_settings_get_string (conf, SETTINGS_TIMEZONE_NAME_S); + tz_name = g_settings_get_string (settings, SETTINGS_TIMEZONE_NAME_S); split_settings_location (tz_name, &old_zone, &old_name); g_free (tz_name); - g_object_unref (conf); // new_name is always just a sanitized version of a timezone. // old_name is potentially a saved "pretty" version of a timezone name from @@ -349,14 +348,13 @@ get_full_date_format_string (gboolean show_day, gboolean show_date) */ const gchar * -get_full_time_format_string (void) +get_full_time_format_string (GSettings * settings) { - GSettings * settings; gboolean twelvehour; gboolean show_seconds; const gchar * fmt; - settings = g_settings_new (SETTINGS_INTERFACE); + g_return_val_if_fail (settings != NULL, NULL); show_seconds = g_settings_get_boolean (settings, SETTINGS_SHOW_SECONDS_S); @@ -370,14 +368,11 @@ get_full_time_format_string (void) twelvehour = FALSE; break; - case TIME_FORMAT_MODE_12_HOUR: - case TIME_FORMAT_MODE_CUSTOM: + default: twelvehour = TRUE; break; } - g_object_unref (settings); - if (twelvehour && show_seconds) /* TRANSLATORS: a strftime(3) format for 12hr time w/seconds */ fmt = T_("%l:%M:%S %p"); @@ -395,19 +390,23 @@ get_full_time_format_string (void) } gchar * -generate_full_format_string (gboolean show_day, gboolean show_date) +generate_full_format_string (gboolean show_day, gboolean show_date, GSettings * settings) { const gchar * date_fmt = get_full_date_format_string (show_day, show_date); - const gchar * time_fmt = get_full_time_format_string (); + const gchar * time_fmt = get_full_time_format_string (settings); return join_date_and_time_format_strings (date_fmt, time_fmt); } gchar * -generate_full_format_string_at_time (GDateTime * now, GDateTime * time) +generate_full_format_string_at_time (GDateTime * now, GDateTime * time, GSettings * settings) { gboolean show_day; gboolean show_date; + g_return_val_if_fail (now != NULL, NULL); + g_return_val_if_fail (time != NULL, NULL); + g_return_val_if_fail (settings != NULL, NULL); + switch (get_date_proximity (now, time)) { case DATE_PROXIMITY_TODAY: @@ -427,6 +426,6 @@ generate_full_format_string_at_time (GDateTime * now, GDateTime * time) break; } - return generate_full_format_string (show_day, show_date); + return generate_full_format_string (show_day, show_date, settings); } diff --git a/src/utils.h b/src/utils.h index 3b0d0a2..fff9194 100644 --- a/src/utils.h +++ b/src/utils.h @@ -33,7 +33,8 @@ void split_settings_location (const char * location, char ** zone, char ** name); -gchar * get_current_zone_name (const char * location); +gchar * get_current_zone_name (const char * location, + GSettings * settings); gchar* join_date_and_time_format_strings (const char * date_fmt, const char * time_fmt); @@ -43,16 +44,18 @@ gchar* join_date_and_time_format_strings (const char * date_fmt, const gchar * get_terse_time_format_string (GDateTime * time); -const gchar * get_full_time_format_string (void); +const gchar * get_full_time_format_string (GSettings * settings); gchar * generate_terse_format_string_at_time (GDateTime * now, GDateTime * time); gchar * generate_full_format_string (gboolean show_day, - gboolean show_date); + gboolean show_date, + GSettings * settings); gchar * generate_full_format_string_at_time (GDateTime * now, - GDateTime * time); + GDateTime * time, + GSettings * settings); G_END_DECLS -- cgit v1.2.3 From 88275c3ae0a002a50a594fb0193805e51f80060d Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 07:45:58 -0500 Subject: remove unnecessary strdup/free of the location menuitems' labels --- src/service.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/service.c b/src/service.c index 2e7b30c..45d152c 100644 --- a/src/service.c +++ b/src/service.c @@ -1030,12 +1030,12 @@ create_locations_section (IndicatorDatetimeService * self) struct TimeLocation * loc = l->data; if (loc->visible) { - char * label; + const char * label; char * detailed_action; char * fmt; GMenuItem * menu_item; - label = g_strdup (loc->name); + label = loc->name; detailed_action = g_strdup_printf ("indicator.set-location::%s %s", loc->zone, loc->name); @@ -1053,7 +1053,6 @@ create_locations_section (IndicatorDatetimeService * self) g_object_unref (menu_item); g_free (fmt); g_free (detailed_action); - g_free (label); } } -- cgit v1.2.3 From f1152966057612e552fb44528bb523e20a61fcac Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 07:46:17 -0500 Subject: remove unnecessary strdup/free of the location menuitems' labels --- src/service.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/service.c b/src/service.c index 45d152c..03a2bb4 100644 --- a/src/service.c +++ b/src/service.c @@ -648,10 +648,8 @@ add_localtime_menuitem (GMenu * menu, static void add_calendar_menuitem (GMenu * menu) { - char * label; GMenuItem * menu_item; - label = g_strdup ("[calendar]"); menu_item = g_menu_item_new ("[calendar]", NULL); g_menu_item_set_action_and_target_value (menu_item, "indicator.calendar", g_variant_new_int64(0)); g_menu_item_set_attribute (menu_item, "x-canonical-type", "s", "com.canonical.indicator.calendar"); @@ -659,7 +657,6 @@ add_calendar_menuitem (GMenu * menu) g_menu_append_item (menu, menu_item); g_object_unref (menu_item); - g_free (label); } static GMenuModel * -- cgit v1.2.3 From 05d0c98b1918fa97369e8b99f6848c19d7b97099 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sat, 7 Sep 2013 09:29:56 -0500 Subject: in service.c's create_locations_section(), remove an unnecessary temporary --- src/service.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/service.c b/src/service.c index 03a2bb4..5d90235 100644 --- a/src/service.c +++ b/src/service.c @@ -1027,18 +1027,16 @@ create_locations_section (IndicatorDatetimeService * self) struct TimeLocation * loc = l->data; if (loc->visible) { - const char * label; char * detailed_action; char * fmt; GMenuItem * menu_item; - label = loc->name; detailed_action = g_strdup_printf ("indicator.set-location::%s %s", loc->zone, loc->name); fmt = generate_full_format_string_at_time (now, loc->local_time); - menu_item = g_menu_item_new (label, detailed_action); + menu_item = g_menu_item_new (loc->name, detailed_action); g_menu_item_set_attribute (menu_item, "x-canonical-type", "s", "com.canonical.indicator.location"); g_menu_item_set_attribute (menu_item, "x-canonical-timezone", -- cgit v1.2.3 From fde292a8ff3c830ea27f3a11f45e959596fede09 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sun, 8 Sep 2013 13:17:08 -0500 Subject: Bad merge --- src/planner.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/planner.c b/src/planner.c index 17cc55b..e826c2c 100644 --- a/src/planner.c +++ b/src/planner.c @@ -188,6 +188,8 @@ indicator_datetime_planner_get_appointments (IndicatorDatetimePlanner * self, IndicatorDatetimePlannerClass * klass; g_return_if_fail (INDICATOR_IS_DATETIME_PLANNER (self)); + g_return_val_if_fail (begin != NULL, NULL); + g_return_val_if_fail (end != NULL, NULL); klass = INDICATOR_DATETIME_PLANNER_GET_CLASS (self); g_return_if_fail (klass->get_appointments != NULL); @@ -203,8 +205,6 @@ indicator_datetime_planner_get_appointments_finish (IndicatorDatetimePlanner * GSList * appointments; g_return_val_if_fail (INDICATOR_IS_DATETIME_PLANNER (self), NULL); - g_return_val_if_fail (begin != NULL, NULL); - g_return_val_if_fail (end != NULL, NULL); klass = INDICATOR_DATETIME_PLANNER_GET_CLASS (self); g_return_val_if_fail (klass->get_appointments_finish != NULL, NULL); -- cgit v1.2.3