Closed
Bug 353051
Opened 18 years ago
Closed 18 years ago
'Dismiss All' doesn't dismiss all alarms (skips every second)
Categories
(Calendar :: Alarms, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: ssitter, Assigned: ssitter)
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
1.20 KB,
patch
|
mattwillis
:
first-review+
jminta
:
second-review+
|
Details | Diff | Splinter Review |
'Dismiss All' doesn't dismiss all alarms (skips every second)
Steps to Reproduce:
1. Create four events with alarms set (e.g. event '1', '2', '3' and '4')
2. Wait until all four alarms are fired and press 'Dismiss All'
3. Restart Sunbird
Actual Results:
Alarm popup for event '2' and '4' are displayed.
Expected Results:
No alarm popup because all alarms were dismissed.
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20060917 Calendar/0.3a2+
Console output: During alarm creation:
considering alarm for item:1
offset:PT15M, which makes alarm time:2006/09/11 11:30:00 UTC
now is 2006/09/17 16:33:40 UTC
Last ack was:null
alarm is in the past, and unack'd, firing now!
snooze time is:null
considering alarm for item:2
offset:PT15M, which makes alarm time:2006/09/12 11:30:00 UTC
now is 2006/09/17 16:34:00 UTC
Last ack was:null
alarm is in the past, and unack'd, firing now!
snooze time is:null
considering alarm for item:3
offset:PT15M, which makes alarm time:2006/09/13 11:45:00 UTC
now is 2006/09/17 16:34:16 UTC
Last ack was:null
alarm is in the past, and unack'd, firing now!
snooze time is:null
considering alarm for item:4
offset:PT15M, which makes alarm time:2006/09/14 11:45:00 UTC
now is 2006/09/17 16:34:20 UTC
Last ack was:null
alarm is in the past, and unack'd, firing now!
After pressing Dismiss All:
snooze time is:null
considering alarm for item:1
offset:PT15M, which makes alarm time:2006/09/11 11:30:00 UTC
now is 2006/09/17 16:35:08 UTC
Last ack was:2006/09/17 16:35:08 UTC
1 - alarm previously ackd2
snooze time is:null
considering alarm for item:3
offset:PT15M, which makes alarm time:2006/09/13 11:45:00 UTC
now is 2006/09/17 16:35:08 UTC
Last ack was:2006/09/17 16:35:08 UTC
3 - alarm previously ackd2
Assignee | ||
Comment 1•18 years ago
|
||
Regression range:
WORKS in Sunbird/0.3a2+ (2006-08-31-06)
FAILS in Sunbird/0.3a2+ (2006-08-31-21)
Keywords: regression
Assignee | ||
Comment 2•18 years ago
|
||
This was regressed by the checkin for Bug 298358 to
mozilla/calendar/base/content/calendar-alarm-dialog.js
After that patch onDismissAll() calls onDismissWidget() instead of dismissing each alarm itself. But onDismissWidget() will also remove the widget from dialog. Therefore the for-each-loop in onDismissAll() works only on every second item.
Assignee | ||
Comment 3•18 years ago
|
||
Assignee: nobody → ssitter
Status: NEW → ASSIGNED
Attachment #238906 -
Flags: second-review?(jminta)
Attachment #238906 -
Flags: first-review?(mattwillis)
Comment 4•18 years ago
|
||
Comment on attachment 238906 [details] [diff] [review]
loop in reverse order
>- for each (kid in box.childNodes) {
>+ for (var i = box.childNodes.length-1; i >= 0; i--) {
>+ var kid = box.childNodes[i];
I _think_ you need to declare var kid outside the for loop, or you'll run into javascript strict warnings.
Otherwise, nice fix. r=lilmatt with var above for.
Attachment #238906 -
Flags: first-review?(mattwillis) → first-review+
Comment 5•18 years ago
|
||
Comment on attachment 238906 [details] [diff] [review]
loop in reverse order
- for each (kid in box.childNodes) {
+ for (var i = box.childNodes.length-1; i >= 0; i--) {
+ var kid = box.childNodes[i];
if (!kid || !kid.item) {
continue;
}
If you're explicitly looping through childNodes here, the kid/kid.item checks ought to be superfluous. They were a result of using forEach. Yes?
Assignee | ||
Comment 6•18 years ago
|
||
Include changes to address Comment #4 and Comment #5.
The |kid| check is not necessary with this loop. This also means there is no need for |kid| at all. Also removes obsolete code in that function.
Attachment #238906 -
Attachment is obsolete: true
Attachment #239049 -
Flags: second-review?(jminta)
Attachment #239049 -
Flags: first-review?(mattwillis)
Attachment #238906 -
Flags: second-review?(jminta)
Comment 7•18 years ago
|
||
Comment on attachment 239049 [details] [diff] [review]
loop in reverse order, v2
Yay for code removal. r2=jminta
Attachment #239049 -
Flags: second-review?(jminta) → second-review+
Comment 8•18 years ago
|
||
Comment on attachment 239049 [details] [diff] [review]
loop in reverse order, v2
r1=lilmatt
Attachment #239049 -
Flags: first-review?(mattwillis) → first-review+
Comment 9•18 years ago
|
||
Patch checked in on MOZILLA_1_8_BRANCH and trunk.
-> FIXED
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment 10•18 years ago
|
||
verified with
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060929 Sunbird/0.3
Status: RESOLVED → VERIFIED
Whiteboard: [litmus testcase wanted]
You need to log in
before you can comment on or make changes to this bug.
Description
•