Merge lp://staging/~charlesk/indicator-datetime/lp-1456281-fix-15.04-alarm-regression into lp://staging/indicator-datetime/15.04
Status: | Merged |
---|---|
Approved by: | Ted Gould |
Approved revision: | 428 |
Merged at revision: | 414 |
Proposed branch: | lp://staging/~charlesk/indicator-datetime/lp-1456281-fix-15.04-alarm-regression |
Merge into: | lp://staging/indicator-datetime/15.04 |
Diff against target: |
1442 lines (+809/-433) 17 files modified
src/engine-eds.cpp (+348/-200) tests/CMakeLists.txt (+15/-14) tests/print-to.h (+10/-1) tests/run-eds-ics-test.sh (+10/-0) tests/test-eds-ics-all-day-events.cpp (+91/-0) tests/test-eds-ics-all-day-events.ics (+19/-0) tests/test-eds-ics-config-files/.config/evolution/sources/system-proxy.source (+21/-0) tests/test-eds-ics-nonrepeating-events.cpp (+93/-0) tests/test-eds-ics-nonrepeating-events.ics (+27/-0) tests/test-eds-ics-repeating-events.cpp (+100/-0) tests/test-eds-ics-repeating-events.ics (+28/-0) tests/test-eds-ics-repeating-valarms.ics (+47/-0) tests/test-eds-tasks-config-files/.config/evolution/sources/system-proxy.source (+0/-21) tests/test-eds-tasks-config-files/.local/share/evolution/tasks/system/tasks.ics (+0/-28) tests/test-eds-tasks.cpp (+0/-101) tests/test-eds-valarms-config-files/.config/evolution/sources/system-proxy.source (+0/-21) tests/test-eds-valarms-config-files/.local/share/evolution/calendar/system/calendar.ics (+0/-47) |
To merge this branch: | bzr merge lp://staging/~charlesk/indicator-datetime/lp-1456281-fix-15.04-alarm-regression |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ted Gould (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email:
|
Commit message
Fix regression that caused nonrepeating alarms to go off at the wrong time.
Description of the change
== Description of the Change
So, for the purposes of this description there are two kinds of ECalComponents: the primary one for an event, and instance components that are what you get when you have a repeating event.
Timezones for "floating" times (e.g., an alarm that goes off at 6:30 AM regardless of the current timezone) get distorted when you call e_cal_util_
So, the old code flow was
for (instance : e_cal_client_
for (alarm : e_cal_util_
The new flow is:
for (component : e_cal_client_
for (alarm : e_cal_util_
...if only the actual code were that easy :-)
Also, ensure EDS regression tests exist for both repeating and nonrepeating alarms.
== Checklist
> Are there any related MPs required for this MP to build/function as expected? Please list.
No
> Is your branch in sync with latest trunk? (e.g. bzr pull lp:trunk -> no changes)
In sync with indicator-
> Did the code build without warnings?
Yes
> Did the tests run successfully?
Yes
> Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
> If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
> What device (or emulator) has your component test plan been executed successfully on?
krillin ubuntu-
> What manual tests are relevant for this MP?
indicator-
> Did you include a link to the MR Review Checklist Template to make your reviewer's life easier?
https:/
There seems to be a small object leak, but otherwise I can only find faults in the EDS API :-)