diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/gncal-full-day.c | 19 | ||||
-rw-r--r-- | calendar/gui/gnome-cal.c | 2 | ||||
-rw-r--r-- | calendar/gui/year-view.c | 3 |
3 files changed, 18 insertions, 6 deletions
diff --git a/calendar/gui/gncal-full-day.c b/calendar/gui/gncal-full-day.c index a9c157c172..eac1d3fddc 100644 --- a/calendar/gui/gncal-full-day.c +++ b/calendar/gui/gncal-full-day.c @@ -433,7 +433,7 @@ child_set_pos (GncalFullDay *fullday, Child *child, int x, int y, int width, int } static struct layout_row * -layout_get_rows (GncalFullDay *fullday) +layout_get_rows (GncalFullDay *fullday, int *rowcount) { struct layout_row *rows; int max_i; @@ -444,6 +444,7 @@ layout_get_rows (GncalFullDay *fullday) get_tm_range (fullday, fullday->lower, fullday->upper, NULL, NULL, NULL, &f_rows); + *rowcount = f_rows; rows = g_new0 (struct layout_row, f_rows); max_i = 0; @@ -467,6 +468,16 @@ layout_get_rows (GncalFullDay *fullday) } static void +layout_kill_rows (struct layout_row *rows, int f_rows) +{ + int i; + + for (i = 0; i < f_rows; i++) + g_free (rows [i].slots); + g_free (rows); +} + +static void layout_get_child_intersections (Child *child, struct layout_row *rows, int *min, int *max) { int i, n; @@ -573,9 +584,9 @@ layout_children (GncalFullDay *fullday) struct layout_row *rows; GList *children; GtkWidget *widget; - int left_x; + int left_x, rowcount; - rows = layout_get_rows (fullday); + rows = layout_get_rows (fullday, &rowcount); widget = GTK_WIDGET (fullday); @@ -584,7 +595,7 @@ layout_children (GncalFullDay *fullday) for (children = fullday->children; children; children = children->next) layout_child (fullday, children->data, rows, left_x); - g_free (rows); + layout_kill_rows (rows, rowcount); } guint diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c index 710a9033b9..6be4eb3f1e 100644 --- a/calendar/gui/gnome-cal.c +++ b/calendar/gui/gnome-cal.c @@ -83,7 +83,7 @@ setup_widgets (GnomeCalendar *gcal) gcal->notebook = gtk_notebook_new (); gcal->week_view = gncal_week_view_new (gcal, now); - gcal->year_view = gncal_year_view_new (); + gcal->year_view = gncal_year_view_new (now); gcal->task_view = tasks_create (gcal); setup_day_view (gcal); diff --git a/calendar/gui/year-view.c b/calendar/gui/year-view.c index d4c2d218df..a3ae3ce647 100644 --- a/calendar/gui/year-view.c +++ b/calendar/gui/year-view.c @@ -101,7 +101,8 @@ gncal_year_view_new (int year) (gpointer *) yview); my_tm.tm_mon = i; - strftime(monthbuff, 40, "%B", &my_tm); + my_tm.tm_year = year; + strftime(monthbuff, sizeof (monthbuff)-1, "%B", &my_tm); label = gtk_label_new(monthbuff); gtk_container_add(GTK_CONTAINER(frame), vbox); |