]> git.saurik.com Git - wxWidgets.git/commitdiff
1. reset default item in ~wxWindow (better to be safe)
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 14 Aug 2001 14:59:44 +0000 (14:59 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 14 Aug 2001 14:59:44 +0000 (14:59 +0000)
2. blind fix for Motif compilation

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/motif/control.h
src/common/wincmn.cpp
src/motif/button.cpp
src/motif/control.cpp

index e6f8a9acca7fe7495e236b203f4ac6b5ef8b180e..d164e52485e7594fbd35c44240bb4d90f3881dff 100644 (file)
@@ -46,8 +46,6 @@ public:
             const wxValidator& validator = wxDefaultValidator,
             const wxString& name = wxControlNameStr);
 
-    ~wxControl();
-
     // simulates the event, returns TRUE if the event was processed
     virtual void Command(wxCommandEvent& WXUNUSED(event)) { }
 
index 4c5ebcc5da795b8db66265e7cf235bec621d371a..f71daad3b5433762a9c07c10b78491021ecc47be 100644 (file)
@@ -268,6 +268,12 @@ wxWindowBase::~wxWindowBase()
     if ( m_tooltip )
         delete m_tooltip;
 #endif // wxUSE_TOOLTIPS
+
+    // reset the dangling pointer our parent window may keep to us
+    if ( m_parent && m_parent->GetDefaultItem() == this )
+    {
+        m_parent->SetDefaultItem(NULL);
+    }
 }
 
 bool wxWindowBase::Destroy()
index f9a139b0688da6648c0e2c9a7b8eca5428ecf21f..5aacdf44aebeea0649cec489bc61ea5368d99942 100644 (file)
@@ -110,8 +110,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
 void wxButton::SetDefault()
 {
     wxWindow *parent = GetParent();
-    wxPanel *panel = wxDynamicCast(parent, wxPanel);
-    if ( panel )
+    if ( parent )
         panel->SetDefaultItem(this);
 
     // We initially do not set XmNdefaultShadowThickness, to have small buttons.
index 6413b921032581ae73b298930b3361a8414707db..894198a0a10515ecf166c0a6b40a5724ebbc5832 100644 (file)
@@ -62,14 +62,6 @@ bool wxControl::Create( wxWindow *parent,
     return ret;
 }
 
-wxControl::~wxControl()
-{
-    // If we delete an item, we should initialize the parent panel,
-    // because it could now be invalid.
-    if ( GetParent()->panel->GetDefaultItem() == this)
-        panel->SetDefaultItem(NULL);
-}
-
 void wxControl::SetLabel(const wxString& label)
 {
     Widget widget = (Widget) GetLabelWidget() ;