Closed Bug 266516 Opened 20 years ago Closed 20 years ago

reloadCalendar inadvertently removes all external observers.

Categories

(Calendar :: Internal Components, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: mehovis, Assigned: mostafah)

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1 The latest version of calendarManager.js has a function called reloadCalendar. I've got another xpcom component with a class that registers an observer for every calendar. When reload is called, I no longer capture any events because a new instance of oeIICalImpl is genearated. Reproducible: Always Steps to Reproduce: 1.Instantiate a class that implements oeIICalObserver 2.Regsiter that instance for each instance of a calendar 3.Run the calendar app and check/uncheck calendars, you'll see that your observer is never called for any of the events. Actual Results: Nothing, that's the problem. Expected Results: I should see events for any calendar regardless of whether or not a particular instance is instantiated by the front end. My suggestion is to make m_observerlist static so that any existing observers won't be left in the cold when the front end needs to refresh.
I've been enumerating all calendars in order to add observers. I'm going to try just adding an observer to the container to see if that fixes my problem.
This bug resulted from a misunderstanding of observer handling by the Container.
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
Mass move of libxpical bugs to the Internal Components, per ctalbert.
Component: libxpical → Internal Components
The bugspam monkeys have been set free and are feeding on Calendar :: Internal Components. Be afraid for your sanity!
QA Contact: gurganbl → base
You need to log in before you can comment on or make changes to this bug.