diff --git a/src/core/gcal-event-list.c b/src/core/gcal-event-list.c index 17f56a66..0f2301f7 100644 --- a/src/core/gcal-event-list.c +++ b/src/core/gcal-event-list.c @@ -117,7 +117,7 @@ static void gcal_event_list_init (GcalEventList *self) { gcal_event_array_init (&self->event_array); - self->events = g_hash_table_new (g_direct_hash, g_direct_equal); + self->events = g_hash_table_new (g_str_hash, g_str_equal); } /** @@ -174,11 +174,11 @@ gcal_event_list_add_events (GcalEventList *self, for (gsize i = 0; events[i]; i++) { - if (g_hash_table_contains (self->events, events[i])) + if (g_hash_table_contains (self->events, gcal_event_get_uid (events[i]))) continue; gcal_event_array_append (&self->event_array, g_object_ref (events[i])); - g_hash_table_add (self->events, events[i]); + g_hash_table_add (self->events, (gpointer) gcal_event_get_uid (events[i])); n_added++; } @@ -226,22 +226,22 @@ gcal_event_list_remove_events (GcalEventList *self, g_assert (events != NULL); bitset = gtk_bitset_new_empty (); - contained_events = g_hash_table_new (g_direct_hash, g_direct_equal); + contained_events = g_hash_table_new (g_str_hash, g_str_equal); for (size_t i = 0; events[i]; i++) { - if (g_hash_table_contains (self->events, events[i])) - g_hash_table_add (contained_events, events[i]); + if (g_hash_table_contains (self->events, gcal_event_get_uid (events[i]))) + g_hash_table_add (contained_events, (gpointer) gcal_event_get_uid (events[i])); } for (size_t i = 0; i < gcal_event_array_get_size (&self->event_array); i++) { GcalEvent *event = gcal_event_array_get (&self->event_array, i); - if (g_hash_table_contains (contained_events, event)) + if (g_hash_table_contains (contained_events, gcal_event_get_uid (event))) { - g_hash_table_remove (contained_events, event); - g_hash_table_remove (self->events, event); + g_hash_table_remove (contained_events, gcal_event_get_uid (event)); + g_hash_table_remove (self->events, gcal_event_get_uid (event)); gtk_bitset_add (bitset, i); } diff --git a/tests/test-event-list.c b/tests/test-event-list.c index af688cc2..b2f2a5d7 100644 --- a/tests/test-event-list.c +++ b/tests/test-event-list.c @@ -26,10 +26,10 @@ #include "gcal-stub-calendar.h" #include "gcal-utils.h" -#define EVENT_STRING_FOR_DATE(dtstart,dtend) \ +#define EVENT_STRING_FOR_DATE(uid, dtstart,dtend) \ "BEGIN:VEVENT\n" \ "SUMMARY:Stub event\n" \ - "UID:example@uid\n" \ + "UID:example@uid"uid"\n" \ "DTSTAMP:19970114T170000Z\n" \ "DTSTART"dtstart"\n" \ "DTEND"dtend"\n" \ @@ -101,9 +101,9 @@ event_list_add_events (void) AddEventsHelper helper = { }; const gchar * const event_strings[] = { - EVENT_STRING_FOR_DATE (":20260331T000000Z", ":20260331T030000Z"), - EVENT_STRING_FOR_DATE (":20260401T000000Z", ":20260401T030000Z"), - EVENT_STRING_FOR_DATE (":20260402T000000Z", ":20260403T030000Z"), + EVENT_STRING_FOR_DATE ("event1", ":20260331T000000Z", ":20260331T030000Z"), + EVENT_STRING_FOR_DATE ("event2", ":20260401T000000Z", ":20260401T030000Z"), + EVENT_STRING_FOR_DATE ("event3", ":20260402T000000Z", ":20260403T030000Z"), }; event_list = gcal_event_list_new (); @@ -171,9 +171,9 @@ event_list_remove_events (void) RemoveEventsHelper helper = { }; const gchar * const event_strings[] = { - EVENT_STRING_FOR_DATE (":20260331T000000Z", ":20260331T030000Z"), - EVENT_STRING_FOR_DATE (":20260401T000000Z", ":20260401T030000Z"), - EVENT_STRING_FOR_DATE (":20260402T000000Z", ":20260403T030000Z"), + EVENT_STRING_FOR_DATE ("event1", ":20260331T000000Z", ":20260331T030000Z"), + EVENT_STRING_FOR_DATE ("event2", ":20260401T000000Z", ":20260401T030000Z"), + EVENT_STRING_FOR_DATE ("event3", ":20260402T000000Z", ":20260403T030000Z"), }; event_list = gcal_event_list_new ();