From 4d4c838bcf5d82e4e4b5d8da74967f798be1e71c Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Wed, 28 Jun 2023 13:41:27 +0200 Subject: [PATCH] EMeetingListStore: Wrong role section picked in Attendees dialog There was a wrong mapping between the role and the section index since the sections had been reordered. Related to https://gitlab.gnome.org/GNOME/evolution/-/issues/1837 --- src/calendar/gui/e-meeting-list-view.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/calendar/gui/e-meeting-list-view.c b/src/calendar/gui/e-meeting-list-view.c index d8bcec0900..3219508566 100644 --- a/src/calendar/gui/e-meeting-list-view.c +++ b/src/calendar/gui/e-meeting-list-view.c @@ -227,18 +227,19 @@ value_edited (GtkTreeView *view, static guint get_index_from_role (ICalParameterRole role) { - switch (role) { - case I_CAL_ROLE_CHAIR: - return 0; - case I_CAL_ROLE_REQPARTICIPANT: - return 1; - case I_CAL_ROLE_OPTPARTICIPANT: - return 2; - case I_CAL_ROLE_NONPARTICIPANT: - return 3; - default: - return 1; + guint ii; + + for (ii = 0; roles[ii] != I_CAL_ROLE_NONE; ii++) { + if (role == roles[ii]) + return ii; } + + g_warn_if_fail (role != I_CAL_ROLE_REQPARTICIPANT); + + if (role == I_CAL_ROLE_REQPARTICIPANT) + return 0; + + return get_index_from_role (I_CAL_ROLE_REQPARTICIPANT); } void