Closed Bug 254036 Opened 21 years ago Closed 20 years ago

implement nsDOMEvent::DuplicatePrivateData()

Categories

(Core :: DOM: Events, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Unassigned)

References

Details

Bug 123756 (wfm) suggested this problem, and i suspect that this could explain some problems i've had. anyway many callsites do this: // We're leaving the DOM event loop so if we created a DOM event, // release here. if (*aDOMEvent && !externalDOMEvent) { nsrefcnt rc; NS_RELEASE2(*aDOMEvent, rc); if (0 != rc) { // Okay, so someone in the DOM loop (a listener, JS object) // still has a ref to the DOM Event but the internal data // hasn't been malloc'd. Force a copy of the data here so the // DOM Event is still valid. nsCOMPtr<nsIPrivateDOMEvent> privateEvent = do_QueryInterface(*aDOMEvent); if (privateEvent) { privateEvent->DuplicatePrivateData(); } } aDOMEvent = nsnull; } seemingly expecting duplicateprivatedata to do something. however, all it does is: //XXX Write me! //XXX And when you do, make sure to copy over the event target here, too! return NS_OK; <bryner> if you hold onto a dom event from your event listener <bryner> and then try to access it later, currently bad things happen anyway, someone needs to implement this. it'd be nice if bryner did it :), but i suspect i'll get to since i'm heavily invested in dom events.
Flags: blocking-aviary1.1?
Flags: blocking-aviary1.1? → blocking-aviary1.1-
nsDOMEvent::DuplicatePrivateData() was implemented in bug 234455
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.