From 03eafa311a71cacae4ecca3f198ea7131f33dbb7 Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Fri, 25 Feb 2011 15:09:27 +0000 Subject: Get ido calendar and dbusmenu the right way around --- src/indicator-datetime.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index e793d71..ac8db54 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -1357,11 +1357,12 @@ month_changed_cb (IdoCalendarMenuItem *ido, { gchar datestring[20]; guint d,m,y; + DbusmenuMenuitem * item = DBUSMENU_MENUITEM (user_data); ido_calendar_menu_item_get_date(ido, &y, &m, &d); g_sprintf(datestring, "%d-%d-%d", y, m, d); GVariant *variant = g_variant_new_string(datestring); guint timestamp = (guint)time(NULL); - dbusmenu_menuitem_handle_event(DBUSMENU_MENUITEM(ido), "event::month-changed", variant, timestamp); + dbusmenu_menuitem_handle_event(DBUSMENU_MENUITEM(item), "event::month-changed", variant, timestamp); g_debug("Got month changed signal: %s", datestring); } @@ -1388,7 +1389,7 @@ new_calendar_item (DbusmenuMenuitem * newitem, self->priv->ido_calendar = ido; dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, GTK_MENU_ITEM(ido), parent); - g_signal_connect(ido, "month-changed", G_CALLBACK(month_changed_cb), NULL); + g_signal_connect_after(ido, "month-changed", G_CALLBACK(month_changed_cb), (gpointer)newitem); return TRUE; } -- cgit v1.2.3 From d0e5a69a026bc879759cde57f8ba324c67b6b37a Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Fri, 25 Feb 2011 15:43:41 +0000 Subject: Updated to free errors just in case(tm) at dbarths request shortened the update time to 5 minutes for calendars --- src/datetime-service.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/datetime-service.c b/src/datetime-service.c index 6a9575e..a3e45bf 100644 --- a/src/datetime-service.c +++ b/src/datetime-service.c @@ -218,6 +218,7 @@ update_current_timezone (void) { check_timezone_sync(); + if (error != NULL) g_error_free(error); return; } @@ -335,9 +336,9 @@ check_for_calendar (gpointer user_data) g_signal_connect(G_OBJECT(add_appointment), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "evolution -c calendar"); dbusmenu_menuitem_child_add_position (root, add_appointment, 3); - // Update the calendar items every 30 minutes if it updates the first time + // Update the calendar items every 5 minutes if it updates the first time if (update_appointment_menu_items(NULL)) - g_timeout_add_seconds(60*30, update_appointment_menu_items, NULL); + g_timeout_add_seconds(60*5, update_appointment_menu_items, NULL); // Connect to event::month-changed g_signal_connect(calendar, "event::month-changed", G_CALLBACK(month_changed_cb), NULL); @@ -710,6 +711,8 @@ update_appointment_menu_items (gpointer user_data) { if (i == 4) break; // See above FIXME regarding query result limit i++; } + + if (gerror != NULL) g_error_free(gerror); g_object_unref(allobjects); g_debug("End of objects"); return TRUE; -- cgit v1.2.3