summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2023-03-11 14:28:27 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2023-03-16 09:28:30 -0300
commit6b57c459a38f5ea8def053c506cbbc9192285e07 (patch)
tree821132136c31b7d864fe7712719ded3d253b8cc5
parent5dd98ea01c6e894ec024cb34f78576ff3a6bc326 (diff)
downloadgnome-calendar-6b57c459a38f5ea8def053c506cbbc9192285e07.tar.gz
search/hit-event: Compare calendars too
This allows not mixing up similar events from different calendars.
-rw-r--r--src/search/gcal-search-hit-event.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/search/gcal-search-hit-event.c b/src/search/gcal-search-hit-event.c
index a53d4251..46a8cbcc 100644
--- a/src/search/gcal-search-hit-event.c
+++ b/src/search/gcal-search-hit-event.c
@@ -105,9 +105,12 @@ static gint
gcal_search_hit_event_compare (GcalSearchHit *a,
GcalSearchHit *b)
{
+ GcalCalendar *calendar_a;
+ GcalCalendar *calendar_b;
GcalEvent *event_a;
GcalEvent *event_b;
time_t now_utc;
+ gint result;
g_assert (GCAL_IS_SEARCH_HIT_EVENT (a));
g_assert (GCAL_IS_SEARCH_HIT_EVENT (b));
@@ -116,7 +119,14 @@ gcal_search_hit_event_compare (GcalSearchHit *a,
event_b = GCAL_SEARCH_HIT_EVENT (b)->event;
now_utc = time (NULL);
- return -gcal_event_compare_with_current (event_a, event_b, now_utc);
+ result = -gcal_event_compare_with_current (event_a, event_b, now_utc);
+ if (result != 0)
+ return result;
+
+ calendar_a = gcal_event_get_calendar (event_a);
+ calendar_b = gcal_event_get_calendar (event_b);
+
+ return g_strcmp0 (gcal_calendar_get_name (calendar_b), gcal_calendar_get_name (calendar_a));
}