virtual void HandleResized( double timestampsec );
     virtual void HandleMoved( double timestampsec );
     virtual void HandleResizing( double timestampsec, wxRect* rect );
+    
+    virtual bool Destroy();
 
 protected:
     // common part of all ctors
                                    wxShowEffect effect,
                                    unsigned timeout);
     
-    void OnWindowDestroy( wxWindowDestroyEvent &event);
+    virtual void WillBeDestroyed();
 
     wxNonOwnedWindowImpl* m_nowpeer ;
 
 
     if ( parent )
         parent->AddChild(this);
 
-    wxBIND_OR_CONNECT_HACK(this, wxEVT_DESTROY, wxWindowDestroyEventHandler,
-                           wxNonOwnedWindow::OnWindowDestroy, this);
-
     return true;
 }
 
         s_macDeactivateWindow = NULL;
 }
 
-void wxNonOwnedWindow::OnWindowDestroy( wxWindowDestroyEvent &event)
+bool wxNonOwnedWindow::Destroy()
 {
-    event.Skip();
+    WillBeDestroyed();
     
+    return wxWindow::Destroy();
+}
+
+void wxNonOwnedWindow::WillBeDestroyed()
+{
     if ( m_nowpeer )
         m_nowpeer->WillBeDestroyed();
 }