]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/button.cpp
Don't handle WM_PRINTCLIENT anymore, manually draw the static box label background...
[wxWidgets.git] / src / msw / button.cpp
index e512e506d2498625fbab97e76f52df5b8de4858f..08361d58b6da5d404e9cc6964e8f127a8e615897 100644 (file)
@@ -197,6 +197,11 @@ bool wxButton::Create(wxWindow *parent,
 
 wxButton::~wxButton()
 {
 
 wxButton::~wxButton()
 {
+    wxWindow *parent = GetParent();
+    if ( parent && parent->GetTmpDefaultItem() == this )
+    {
+        UnsetTmpDefault();
+    }
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
@@ -397,18 +402,13 @@ wxButton::SetDefaultStyle(wxButton *btn, bool on)
         if ( !wxTheApp->IsActive() )
             return;
 
         if ( !wxTheApp->IsActive() )
             return;
 
-        // look for a panel-like window
-        wxWindow *win = btn->GetParent();
-        while ( win && !win->HasFlag(wxTAB_TRAVERSAL) )
-            win = win->GetParent();
+        wxWindow * const parent = btn->GetParent();
+        wxCHECK_RET( parent, _T("button without parent?") );
 
 
-        if ( win )
-        {
-            ::SendMessage(GetHwndOf(win), DM_SETDEFID, btn->GetId(), 0L);
+        ::SendMessage(GetHwndOf(parent), DM_SETDEFID, btn->GetId(), 0L);
 
 
-            // sending DM_SETDEFID also changes the button style to
-            // BS_DEFPUSHBUTTON so there is nothing more to do
-        }
+        // sending DM_SETDEFID also changes the button style to
+        // BS_DEFPUSHBUTTON so there is nothing more to do
     }
 
     // then also change the style as needed
     }
 
     // then also change the style as needed