]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/choice.cpp
Check wxSIZE_ALLOW_MINUS_ONE for x and y too.
[wxWidgets.git] / src / mac / choice.cpp
index c187d9ecc75ef2f05485fc205c175616a5ef0bed..c963dcad3271faf238ae96a51b3ea303e50c752a 100644 (file)
@@ -46,6 +46,9 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
            const wxValidator& validator,
            const wxString& name)
 {
+    if ( !wxChoiceBase::Create(parent, id, pos, size, style, validator, name) )
+        return false;
+
     Rect bounds ;
     Str255 title ;
 
@@ -60,6 +63,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
     if ( n > 0 )
         SetControl32BitValue( (ControlHandle) m_macControl , 1 ) ;
     MacPostControlCreate() ;
+    // TODO wxCB_SORT
     for ( int i = 0; i < n; i++ )
     {
         Append(choices[i]);
@@ -268,8 +272,7 @@ wxSize wxChoice::DoGetBestSize() const
                 &baseline );
             wLine = bounds.h ;
         #else
-            wxCharBuffer text = wxMacStringToCString( str ) ;
-            wLine = ::TextWidth( text , 0 , strlen(text) ) ;
+            wLine = ::TextWidth( str.c_str() , 0 , str.Length() ) ;
         #endif
             lbWidth = wxMax(lbWidth, wLine);
         }