]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/control.cpp
Fix for always failing assert in GetValue. Save the same value that
[wxWidgets.git] / src / mac / classic / control.cpp
index 2742383fe20c4b4771bd466cddef47d2cf74e4ba..d5c0ca1880fdea89878f4a4552cf71d6d4a06b6e 100644 (file)
     #include "wx/button.h"
     #include "wx/dialog.h"
     #include "wx/scrolbar.h"
+    #include "wx/stattext.h"
+    #include "wx/statbox.h"
+    #include "wx/radiobox.h"
+    #include "wx/sizer.h"
 #endif // WX_PRECOMP
 
 #include "wx/notebook.h"
 #include "wx/tabctrl.h"
-#include "wx/radiobox.h"
 #include "wx/spinbutt.h"
-#include "wx/statbox.h"
-#include "wx/sizer.h"
-#include "wx/stattext.h"
 
 IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
 
@@ -190,11 +190,11 @@ wxControl::~wxControl()
     wxRemoveMacControlAssociation( this ) ;
     // If we delete an item, we should initialize the parent panel,
     // because it could now be invalid.
-    wxWindow *parent = GetParent() ;
-    if ( parent )
+    wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+    if ( tlw )
     {
-        if (parent->GetDefaultItem() == (wxButton*) this)
-            parent->SetDefaultItem(NULL);
+        if ( tlw->GetDefaultItem() == (wxButton*) this)
+            tlw->SetDefaultItem(NULL);
     }
     if ( (ControlHandle) m_macControl )
     {
@@ -207,7 +207,7 @@ wxControl::~wxControl()
 
 void wxControl::SetLabel(const wxString& title)
 {
-    m_label = wxStripMenuCodes(title) ;
+    m_label = GetLabelText(title) ;
 
     if ( m_macControl )
     {
@@ -309,7 +309,7 @@ void wxControl::MacPreControlCreate( wxWindow *parent, wxWindowID id, wxString l
     ((Rect*)outBounds)->bottom = 0;
     ((Rect*)outBounds)->right = 0;
 
-    wxMacStringToPascal( wxStripMenuCodes(label) , maclabel ) ;
+    wxMacStringToPascal( GetLabelText(label) , maclabel ) ;
 }
 
 void wxControl::MacPostControlCreate()
@@ -398,7 +398,7 @@ void wxControl::MacPostControlCreate()
     SetSize(pos.x, pos.y, new_size.x, new_size.y);
 
 #if wxUSE_UNICODE
-    UMASetControlTitle( (ControlHandle) m_macControl , wxStripMenuCodes(m_label) , m_font.GetEncoding() ) ;
+    UMASetControlTitle( (ControlHandle) m_macControl , GetLabelText(m_label) , m_font.GetEncoding() ) ;
 #endif
 
     if ( m_macControlIsShown )