Opened on 04/04/2014 at 12:37:30 PM

Closed on 04/07/2014 at 12:07:51 PM

Last modified on 12/08/2016 at 11:09:02 AM

#261 closed defect (fixed)

FilterNotifier doesn't support listeners removing themselves when triggered

Reported by: trev Assignee: trev
Priority: P1 Milestone: Adblock-Plus-2.6-for-Firefox
Module: Core Keywords:
Cc: smultron45@gmail.com Blocked By:
Blocking: Platform:
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

http://codereview.adblockplus.org/5743624616673280/
http://codereview.adblockplus.org/5650509725696000/

Description

How to reproduce

See https://github.com/greasemonkey/greasemonkey/issues/1827

Background

ui.js listens to the load event via FilterNotifier. That listener removes itself when it is triggered. This disrupts the for ... each loop used by FilterNotifier so that it produces an error (second listener here is from sync.js).

FilterNotifier needs to make a copy of the listeners array before triggering them.

Attachments (0)

Change History (9)

comment:1 Changed on 04/04/2014 at 12:45:21 PM by mapx

  • Cc smultron45@gmail.com added

comment:2 Changed on 04/04/2014 at 12:47:15 PM by trev

  • Owner set to trev
  • Status changed from new to assigned

comment:3 Changed on 04/04/2014 at 12:47:27 PM by trev

  • Review URL(s) modified (diff)
  • Status changed from assigned to reviewing

comment:4 Changed on 04/07/2014 at 12:07:51 PM by trev

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:5 Changed on 04/13/2014 at 06:31:29 PM by trev

  • Milestone set to Adblock-Plus-for-Firefox-next

comment:6 Changed on 03/14/2016 at 12:41:52 PM by matze

  • Blocking 3540 added

comment:7 Changed on 03/14/2016 at 12:42:30 PM by matze

  • Blocking 3540 removed

comment:8 Changed on 03/15/2016 at 04:17:30 PM by matze

  • Blocking 3807 added

comment:9 Changed on 12/08/2016 at 11:09:02 AM by fred

  • Blocking 3807 removed

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from trev.
 
Note: See TracTickets for help on using tickets.