diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/engine-eds.cpp | 7 | ||||
-rw-r--r-- | src/main.cpp | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/engine-eds.cpp b/src/engine-eds.cpp index 210ef42..47c7a9b 100644 --- a/src/engine-eds.cpp +++ b/src/engine-eds.cpp @@ -534,8 +534,11 @@ private: icalcomponent * icc = nullptr; if (e_cal_client_get_object_finish (E_CAL_CLIENT(client), result, &icc, nullptr)) { - struct icaltimetype itt = icalcomponent_get_recurrenceid(icc); - if (icaltime_is_null_time(itt)) + auto rrule_property = icalcomponent_get_first_property (icc, ICAL_RRULE_PROPERTY); // transfer none + auto rdate_property = icalcomponent_get_first_property (icc, ICAL_RDATE_PROPERTY); // transfer none + const bool is_nonrepeating = (rrule_property == nullptr) && (rdate_property == nullptr); + + if (is_nonrepeating) { g_debug("'%s' appears to be a one-time alarm... adding 'disabled' tag.", icalcomponent_as_ical_string(icc)); diff --git a/src/main.cpp b/src/main.cpp index 1761f84..85a414f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -46,6 +46,7 @@ namespace uin = unity::indicator::notifications; using namespace unity::indicator::datetime; + namespace { std::shared_ptr<Engine> create_engine() |