Bug 114145

Summary: Web Inspector: InspectorFrontendClientQt delete self in inspectorClientDestroyed function
Product: WebKit Reporter: 123powerd231 <kvodinskiy>
Component: WebKit QtAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: burg
Priority: P2    
Version: 525.x (Safari 3.2)   
Hardware: Unspecified   
OS: Windows 7   

Description 123powerd231 2013-04-08 00:06:49 PDT
>>>>>>	Qt5WebKitd.dll!WebCore::InspectorFrontendClientQt::~InspectorFrontendClientQt()  Line 292	C++
 	Qt5WebKitd.dll!WebCore::InspectorFrontendClientQt::`scalar deleting destructor'()  + 0xf bytes	C++
 	Qt5WebKitd.dll!WTF::deleteOwnedPtr<WTF::MemoryInstrumentation::InstrumentedPointer<WebCore::WebKitCSSSVGDocumentValue> >(WTF::MemoryInstrumentation::InstrumentedPointer<WebCore::WebKitCSSSVGDocumentValue> * ptr=0x07695588)  Line 60 + 0x20 bytes	C++
 	Qt5WebKitd.dll!WTF::PassOwnPtr<WebCore::WorkerEventQueue>::~PassOwnPtr<WebCore::WorkerEventQueue>()  Line 63 + 0x12 bytes	C++
 	Qt5WebKitd.dll!WebCore::InspectorController::~InspectorController()  Line 176 + 0x21 bytes	C++
 	Qt5WebKitd.dll!WebCore::InspectorController::`scalar deleting destructor'()  + 0xf bytes	C++
 	Qt5WebKitd.dll!WTF::deleteOwnedPtr<WebCore::InspectorController>(WebCore::InspectorController * ptr=0x07639478)  Line 60 + 0x1c bytes	C++
 	Qt5WebKitd.dll!WTF::PassOwnPtr<WebCore::InspectorController>::~PassOwnPtr<WebCore::InspectorController>()  Line 56 + 0x12 bytes	C++
 	Qt5WebKitd.dll!WebCore::Page::~Page()  Line 218 + 0xec bytes	C++
 	Qt5WebKitd.dll!WebCore::Page::`scalar deleting destructor'()  + 0xf bytes	C++
 	Qt5WebKitd.dll!QWebPageAdapter::deletePage()  Line 237 + 0x1f bytes	C++
 	Qt5WebKitWidgetsd.dll!QWebPagePrivate::~QWebPagePrivate()  Line 238	C++
 	Qt5WebKitWidgetsd.dll!QWebPagePrivate::`scalar deleting destructor'()  + 0xf bytes	C++
 	Qt5WebKitWidgetsd.dll!QWebPage::~QWebPage()  Line 1368 + 0x23 bytes	C++
 	Qt5WebKitWidgetsd.dll!WebKit::InspectorClientWebPage::~InspectorClientWebPage()  + 0xf bytes	C++
 	Qt5WebKitWidgetsd.dll!WebKit::InspectorClientWebPage::`scalar deleting destructor'()  + 0xf bytes	C++
 	Qt5WebKitWidgetsd.dll!QWebViewPrivate::detachCurrentPage()  Line 236 + 0x24 bytes	C++
 	Qt5WebKitWidgetsd.dll!QWebViewPrivate::~QWebViewPrivate()  Line 64	C++
 	Qt5WebKitWidgetsd.dll!QWebViewPrivate::`scalar deleting destructor'()  + 0xf bytes	C++
 	Qt5WebKitWidgetsd.dll!QWebView::~QWebView()  Line 199 + 0x23 bytes	C++
 	Qt5WebKitWidgetsd.dll!QWebView::`vector deleting destructor'()  + 0x4d bytes	C++
 	Qt5WebKitd.dll!WTF::deleteOwnedPtr<QObject>(QObject * ptr=0x0406ed38)  Line 60 + 0x21 bytes	C++
 	Qt5WebKitd.dll!WTF::PassOwnPtr<QQuickItem>::~PassOwnPtr<QQuickItem>()  Line 56 + 0x12 bytes	C++
 	Qt5WebKitd.dll!WebCore::InspectorFrontendClientQt::destroyInspectorView(bool notifyInspectorController=false)  Line 373 + 0x8 bytes	C++
>>>>>>	Qt5WebKitd.dll!WebCore::InspectorFrontendClientQt::inspectorClientDestroyed()  Line 378	C++
 	Qt5WebKitd.dll!WebCore::InspectorClientQt::closeInspectorFrontend()  Line 216	C++
 	Qt5WebKitd.dll!WebCore::InspectorController::close()  Line 270	C++
 	Qt5WebKitd.dll!QWebPageAdapter::didCloseInspector()  Line 1024	C++
 	Qt5WebKitWidgetsd.dll!QWebInspector::closeEvent(QCloseEvent * event=0x05363000)  Line 182	C++
 	Qt5Widgetsd.dll!QWidget::event(QEvent * event=0x05363000)  Line 8024	C++
 	Qt5WebKitWidgetsd.dll!QWebInspector::event(QEvent * ev=0x05363000)  Line 148	C++

Follow these steps in InspectorFrontendClientQt::inspectorClientDestroyed to write freed memory:
m_inspectorClient = 0;
m_inspectedWebPage = 0;