X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e609c82594a57104ff5e0d4044b2e2697a4b576..9a0a58f5afb88fc72f04333e32208e3b3bf2ccc5:/src/mac/carbon/button.cpp diff --git a/src/mac/carbon/button.cpp b/src/mac/carbon/button.cpp index c5a3f521bd..9da363eb50 100644 --- a/src/mac/carbon/button.cpp +++ b/src/mac/carbon/button.cpp @@ -15,6 +15,7 @@ #ifndef WX_PRECOMP #include "wx/panel.h" + #include "wx/toplevel.h" #endif #include "wx/stockitem.h" @@ -42,7 +43,7 @@ bool wxButton::Create(wxWindow *parent, if ( !wxButtonBase::Create(parent, id, pos, size, style, validator, name) ) return false; - m_label = label ; + m_labelOrig = m_label = label ; OSStatus err; Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ; @@ -100,21 +101,19 @@ bool wxButton::Create(wxWindow *parent, return true; } -void wxButton::SetDefault() +wxWindow *wxButton::SetDefault() { - wxWindow *parent = GetParent(); - wxButton *btnOldDefault = NULL; + wxWindow *btnOldDefault = wxButtonBase::SetDefault(); - if ( parent ) + if ( btnOldDefault ) { - btnOldDefault = wxDynamicCast(parent->GetDefaultItem(), wxButton); - parent->SetDefaultItem(this); + // cast needed to access the protected member + btnOldDefault->GetPeer()->SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) 0 ) ; } - if ( btnOldDefault ) - btnOldDefault->m_peer->SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) 0 ) ; - m_peer->SetData(kControlButtonPart , kControlPushButtonDefaultTag , (Boolean) 1 ) ; + + return btnOldDefault; } wxSize wxButton::DoGetBestSize() const