Well, it's clear enough what's happening: when evolution-calendar-factory crashes, it takes all the calendars and alarms down with it. Restarting indicator-datetime asks for e-c-f on the bus, so dbus activates a new copy.
I guess we could add a dbus_name_watch() callback in indicator-datetime that restarts the EDS connections when the name disappears, which would trigger the dbus activation.
In practice that would have an annoying side-effect of requiring us to stop indicator-datetime before EDS is killable, but that's more of a testing/developer frustration than an end-user frustration.
Well, it's clear enough what's happening: when evolution- calendar- factory crashes, it takes all the calendars and alarms down with it. Restarting indicator-datetime asks for e-c-f on the bus, so dbus activates a new copy.
I guess we could add a dbus_name_watch() callback in indicator-datetime that restarts the EDS connections when the name disappears, which would trigger the dbus activation.
In practice that would have an annoying side-effect of requiring us to stop indicator-datetime before EDS is killable, but that's more of a testing/developer frustration than an end-user frustration.