81954048f9847f8bab999390daefa480ab18d519
Fixes a few problems in the schedule comparison code: - Same recurrence pointer short-circuits to TRUE: a pointer to the same recurrence is not a sufficient condition, because the dates could still be different (this is especially true if the recurrence is NULL for both events, but also holds if that is not the case). Also deleted the explicit check if only one of the recurrence pointers is NULL, because that is the first thing that is checked in `gcal_recurrence_is_equal()` anyway. - Date comparisons only check if the date moved into a specific direction: the correct logic is to check if they are not the same, no matter in which direction the date moved. - The time is not compared: for non all-day events, it is necessary to compare the time values too. The glib function that is now used for that also checks the date, so these checks can be collapsed into one. For the second and third point it seems like some things got a bit mixed up in https://gitlab.gnome.org/GNOME/gnome-calendar/-/commit/2ee6dfc5e7bd5823bee5029a7ac3a32d3c247ba9: - The `gcal_schedule_section_changed()` implementation already used the `g_date_time_equal()` function (which is now used again). - It was `gcal_schedule_section_day_changed()` which only compared the dates using `gcal_date_time_compare_date()`, but this function was only used for edits to recurring events to determine whether to allow changing all instances. This commit now exposes a regression in this part of the code, which is tracked separately in https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1613. Fixes: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1612> See: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/783> See: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1613> Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/792>
Installation
Links
- Homepage: apps.gnome.org/Calendar
- Report an issue: gitlab.gnome.org/GNOME/gnome-calendar/issues
- Donate: donate.gnome.org
- Translate: l10n.gnome.org/module/gnome-calendar
- Contact: matrix.to/#/#gnome-calendar:gnome.org
Contributing
For information on how to contribute, please check CONTRIBUTING.md and HACKING.md.
Languages
C
97.6%
Meson
1.2%
CSS
0.7%
Python
0.3%
Shell
0.2%
