File evolution-year-view-week-number.patch of Package evolution
From 4af3f6833b252f713fe19a531008d6451064701b Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Wed, 4 Feb 2026 08:35:22 +0100
Subject: [PATCH] I#3238 - Calendar: Year view shows incorrect week number
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/3238
---
src/e-util/e-month-widget.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/src/e-util/e-month-widget.c b/src/e-util/e-month-widget.c
index ed8ecf6b8f..12d765c2e1 100644
--- a/src/e-util/e-month-widget.c
+++ b/src/e-util/e-month-widget.c
@@ -161,32 +161,22 @@ e_month_widget_update (EMonthWidget *self)
GDate *date, tmp_date;
GtkWidget *widget;
gchar buffer[128];
- guint week_of_year, week_of_last_year = 0;
guint ii, jj, month_day, max_month_days;
if (!digit_format)
digit_format = get_digit_format ();
date = g_date_new_dmy (1, self->priv->month, self->priv->year);
-
- if (self->priv->week_start_day == G_DATE_SUNDAY) {
- week_of_year = g_date_get_sunday_week_of_year (date);
- if (!week_of_year)
- week_of_last_year = g_date_get_sunday_weeks_in_year (self->priv->year - 1);
- } else {
- week_of_year = g_date_get_monday_week_of_year (date);
- if (!week_of_year)
- week_of_last_year = g_date_get_monday_weeks_in_year (self->priv->year - 1);
- }
+ tmp_date = *date;
/* Update week numbers */
for (ii = 0; ii < MAX_WEEKS; ii++) {
- g_snprintf (buffer, sizeof (buffer), digit_format, !week_of_year ? week_of_last_year : week_of_year);
+ g_snprintf (buffer, sizeof (buffer), digit_format, g_date_get_iso8601_week_of_year (&tmp_date));
widget = gtk_grid_get_child_at (self->priv->grid, 0, ii + 1);
gtk_label_set_text (GTK_LABEL (widget), buffer);
- week_of_year++;
+ g_date_add_days (&tmp_date, 7);
}
/* Update day names */
--
2.52.0