change code to help analyzer trace ownership properly
This commit is contained in:
@@ -108,6 +108,10 @@ private:
|
|||||||
|
|
||||||
OSXWebViewPtr m_webView;
|
OSXWebViewPtr m_webView;
|
||||||
|
|
||||||
|
WX_NSObject m_frameLoadMonitor;
|
||||||
|
WX_NSObject m_policyDelegate;
|
||||||
|
WX_NSObject m_UIDelegate;
|
||||||
|
|
||||||
// we may use this later to setup our own mouse events,
|
// we may use this later to setup our own mouse events,
|
||||||
// so leave it in for now.
|
// so leave it in for now.
|
||||||
void* m_webKitCtrlEventHandler;
|
void* m_webKitCtrlEventHandler;
|
||||||
|
@@ -206,16 +206,20 @@ bool wxWebKitCtrl::Create(wxWindow *parent,
|
|||||||
|
|
||||||
|
|
||||||
// Register event listener interfaces
|
// Register event listener interfaces
|
||||||
|
|
||||||
MyFrameLoadMonitor* myFrameLoadMonitor = [[MyFrameLoadMonitor alloc] initWithWxWindow: this];
|
MyFrameLoadMonitor* myFrameLoadMonitor = [[MyFrameLoadMonitor alloc] initWithWxWindow: this];
|
||||||
[m_webView setFrameLoadDelegate:myFrameLoadMonitor];
|
[m_webView setFrameLoadDelegate:myFrameLoadMonitor];
|
||||||
|
m_frameLoadMonitor = myFrameLoadMonitor;
|
||||||
|
|
||||||
// this is used to veto page loads, etc.
|
// this is used to veto page loads, etc.
|
||||||
MyPolicyDelegate* myPolicyDelegate = [[MyPolicyDelegate alloc] initWithWxWindow: this];
|
MyPolicyDelegate* myPolicyDelegate = [[MyPolicyDelegate alloc] initWithWxWindow: this];
|
||||||
[m_webView setPolicyDelegate:myPolicyDelegate];
|
[m_webView setPolicyDelegate:myPolicyDelegate];
|
||||||
|
m_policyDelegate = myPolicyDelegate;
|
||||||
|
|
||||||
// this is used to provide printing support for JavaScript
|
// this is used to provide printing support for JavaScript
|
||||||
MyUIDelegate* myUIDelegate = [[MyUIDelegate alloc] initWithWxWindow: this];
|
MyUIDelegate* myUIDelegate = [[MyUIDelegate alloc] initWithWxWindow: this];
|
||||||
[m_webView setUIDelegate:myUIDelegate];
|
[m_webView setUIDelegate:myUIDelegate];
|
||||||
|
m_UIDelegate = myUIDelegate;
|
||||||
|
|
||||||
LoadURL(m_currentURL);
|
LoadURL(m_currentURL);
|
||||||
return true;
|
return true;
|
||||||
@@ -223,21 +227,18 @@ bool wxWebKitCtrl::Create(wxWindow *parent,
|
|||||||
|
|
||||||
wxWebKitCtrl::~wxWebKitCtrl()
|
wxWebKitCtrl::~wxWebKitCtrl()
|
||||||
{
|
{
|
||||||
MyFrameLoadMonitor* myFrameLoadMonitor = [m_webView frameLoadDelegate];
|
|
||||||
MyPolicyDelegate* myPolicyDelegate = [m_webView policyDelegate];
|
|
||||||
MyUIDelegate* myUIDelegate = [m_webView UIDelegate];
|
|
||||||
[m_webView setFrameLoadDelegate: nil];
|
[m_webView setFrameLoadDelegate: nil];
|
||||||
[m_webView setPolicyDelegate: nil];
|
[m_webView setPolicyDelegate: nil];
|
||||||
[m_webView setUIDelegate: nil];
|
[m_webView setUIDelegate: nil];
|
||||||
|
|
||||||
if (myFrameLoadMonitor)
|
if (m_frameLoadMonitor)
|
||||||
[myFrameLoadMonitor release];
|
[m_frameLoadMonitor release];
|
||||||
|
|
||||||
if (myPolicyDelegate)
|
if (m_policyDelegate)
|
||||||
[myPolicyDelegate release];
|
[m_policyDelegate release];
|
||||||
|
|
||||||
if (myUIDelegate)
|
if (m_UIDelegate)
|
||||||
[myUIDelegate release];
|
[m_UIDelegate release];
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user