X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa34bc533187f7b1521c3f207e955c92903fa552..8d462eb74a32a522427e658441d1bc5e67b2d8a5:/src/html/htmlctrl/webkit/webkit.mm diff --git a/src/html/htmlctrl/webkit/webkit.mm b/src/html/htmlctrl/webkit/webkit.mm index 7adc98dff0..86ae740561 100644 --- a/src/html/htmlctrl/webkit/webkit.mm +++ b/src/html/htmlctrl/webkit/webkit.mm @@ -26,7 +26,7 @@ #ifdef __WXCOCOA__ #include "wx/cocoa/autorelease.h" #else -#include "wx/mac/uma.h" +#include "wx/osx/uma.h" #include #include #include @@ -288,37 +288,46 @@ DEFINE_ONE_SHOT_HANDLER_GETTER( wxWebKitCtrlEventHandler ) IMPLEMENT_DYNAMIC_CLASS( wxWebKitStateChangedEvent, wxCommandEvent ) -DEFINE_EVENT_TYPE( wxEVT_WEBKIT_STATE_CHANGED ) +wxDEFINE_EVENT( wxEVT_WEBKIT_STATE_CHANGED, wxWebKitStateChangedEvent ); wxWebKitStateChangedEvent::wxWebKitStateChangedEvent( wxWindow* win ) { SetEventType( wxEVT_WEBKIT_STATE_CHANGED); - SetEventObject( win ); - SetId(win->GetId()); + if ( win ) + { + SetEventObject( win ); + SetId(win->GetId()); + } } IMPLEMENT_DYNAMIC_CLASS( wxWebKitBeforeLoadEvent, wxCommandEvent ) -DEFINE_EVENT_TYPE( wxEVT_WEBKIT_BEFORE_LOAD ) +wxDEFINE_EVENT( wxEVT_WEBKIT_BEFORE_LOAD, wxWebKitBeforeLoadEvent ); wxWebKitBeforeLoadEvent::wxWebKitBeforeLoadEvent( wxWindow* win ) { m_cancelled = false; SetEventType( wxEVT_WEBKIT_BEFORE_LOAD); - SetEventObject( win ); - SetId(win->GetId()); + if ( win ) + { + SetEventObject( win ); + SetId(win->GetId()); + } } IMPLEMENT_DYNAMIC_CLASS( wxWebKitNewWindowEvent, wxCommandEvent ) -DEFINE_EVENT_TYPE( wxEVT_WEBKIT_NEW_WINDOW ) +wxDEFINE_EVENT( wxEVT_WEBKIT_NEW_WINDOW, wxWebKitNewWindowEvent ); wxWebKitNewWindowEvent::wxWebKitNewWindowEvent( wxWindow* win ) { SetEventType( wxEVT_WEBKIT_NEW_WINDOW); - SetEventObject( win ); - SetId(win->GetId()); + if ( win ) + { + SetEventObject( win ); + SetId(win->GetId()); + } } @@ -468,7 +477,16 @@ bool wxWebKitCtrl::Create(wxWindow *parent, wxWebKitCtrl::~wxWebKitCtrl() { - + MyFrameLoadMonitor* myFrameLoadMonitor = [m_webView frameLoadDelegate]; + MyPolicyDelegate* myPolicyDelegate = [m_webView policyDelegate]; + [m_webView setFrameLoadDelegate: nil]; + [m_webView setPolicyDelegate: nil]; + + if (myFrameLoadMonitor) + [myFrameLoadMonitor release]; + + if (myPolicyDelegate) + [myPolicyDelegate release]; } // ---------------------------------------------------------------------------- @@ -682,8 +700,8 @@ void wxWebKitCtrl::OnSize(wxSizeEvent &event){ wxWindow* tlw = MacGetTopLevelWindow(); - NSRect frame = [m_webView frame]; - NSRect bounds = [m_webView bounds]; + NSRect frame = [(WebView*)m_webView frame]; + NSRect bounds = [(WebView*)m_webView bounds]; #if DEBUG_WEBKIT_SIZING fprintf(stderr,"Carbon window x=%d, y=%d, width=%d, height=%d\n", GetPosition().x, GetPosition().y, GetSize().x, GetSize().y); @@ -734,7 +752,7 @@ void wxWebKitCtrl::OnSize(wxSizeEvent &event){ frame.origin.x = x; frame.origin.y = y; - [m_webView setFrame:frame]; + [(WebView*)m_webView setFrame:frame]; if (IsShown()) [(WebView*)m_webView display];