Summary: | Crash selecting inspector nodes for tabs that aren't foremost | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Michael Croft <mcroft> | ||||||||||
Component: | Web Inspector (Deprecated) | Assignee: | Nobody <webkit-unassigned> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Critical | ||||||||||||
Priority: | P2 | ||||||||||||
Version: | 420+ | ||||||||||||
Hardware: | Mac | ||||||||||||
OS: | OS X 10.4 | ||||||||||||
Attachments: |
|
Description
Michael Croft
2006-01-17 19:18:48 PST
Created attachment 5747 [details]
image of misplaced highlight box before crash
shows red highlight box in wrong location after tab change and inspector
element switch
Created attachment 5748 [details]
crashreporter report on 6635
Wonder if this is caused by cancelling the WebNodeHighlight by switching elements before it expires I can confirm this crash with ToT. Safari goes unresponsive for a *long* time before it actually crashes. From the backtrace it looks as though there is some infinite recursion going on involving notifications. Created attachment 7825 [details]
fix for review
added call to remove a NSWindowWillCloseNotification before closing the window, which avoids the loop that was causing the crash. actually i'll probably obsolete this and put in another patch that makes it a bit safer by observing only this window, not all windows as it was originally. but this patch works fine, just in case.
Comment on attachment 7825 [details]
fix for review
Looks good. r=me
Using removeObserver:self name:NSWindowWillCloseNotification object:nil in this class is fine.
Please attach a ChangeLog. You can use the prepare-ChangeLog script to get you started. Created attachment 7846 [details]
better patch - skips highlight for elements in hidden tabs
use this one.. it's better. it has the same fix for the loop prevention, plus checking to make sure the timer is still valid (we invalidate it as part of the process). but this patch also has the real solution to why this was happening. before doing the highlight, this checks to make sure that the [view window] is not nil. if the view is in a hidden tab it will be nil, so this check also fixes the problem with elements in hidden tabs drawing bad highlights on the visible tab.
Comment on attachment 7846 [details]
better patch - skips highlight for elements in hidden tabs
r=me
Landed in r13978. |