aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/recurrence-page.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs/recurrence-page.c')
-rw-r--r--calendar/gui/dialogs/recurrence-page.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c
index e58fb28906..921f3d32bd 100644
--- a/calendar/gui/dialogs/recurrence-page.c
+++ b/calendar/gui/dialogs/recurrence-page.c
@@ -531,6 +531,8 @@ sensitize_buttons (RecurrencePage *rpage)
gboolean read_only;
gint selected_rows;
RecurrencePagePrivate *priv;
+ icalcomponent *icalcomp;
+ char *uid;
priv = rpage->priv;
@@ -539,6 +541,15 @@ sensitize_buttons (RecurrencePage *rpage)
if (!e_cal_is_read_only (COMP_EDITOR_PAGE (rpage)->client, &read_only, NULL))
read_only = TRUE;
+
+ if (!read_only) {
+ e_cal_component_get_uid (priv->comp, &uid);
+
+ if (e_cal_get_static_capability (COMP_EDITOR_PAGE (rpage)->client, CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR) && e_cal_get_object(COMP_EDITOR_PAGE (rpage)->client, uid, NULL, &icalcomp, NULL)) {
+ read_only = TRUE;
+ icalcomponent_free (icalcomp);
+ }
+ }
if (!read_only)
sensitize_recur_widgets (rpage);