]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/choice.cpp
Normal wxWindow::Close() behavior
[wxWidgets.git] / src / mac / choice.cpp
index 83e91dbfaba6811749ab51e7931428d210cc28c8..2275ce10c07d3b6a3b0c12013453260ff3d053e6 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 ;
 
@@ -105,7 +108,7 @@ void wxChoice::Delete(int n)
         delete GetClientObject(n);
     }
     ::DeleteMenuItem( MAC_WXHMENU(m_macPopUpMenuHandle) , n + 1) ;
-    m_strings.Remove( n ) ;
+    m_strings.RemoveAt( n ) ;
     m_datas.RemoveAt( n ) ;
     SetControl32BitMaximum( (ControlHandle) m_macControl , GetCount()) ;
 }
@@ -177,8 +180,12 @@ void wxChoice::SetString(int n, const wxString& s)
 
 wxString wxChoice::GetString(int n) const
 {
+    wxCHECK_MSG( n >= 0 && (size_t)n < m_strings.GetCount(), _T(""),
+                    _T("wxChoice::GetString(): invalid index") );
+
     return m_strings[n] ;
 }
+
 // ----------------------------------------------------------------------------
 // client data
 // ----------------------------------------------------------------------------
@@ -207,7 +214,7 @@ wxClientData* wxChoice::DoGetItemClientObject( int n ) const
     return (wxClientData *)DoGetItemClientData(n);
 }
 
-void wxChoice::MacHandleControlClick( WXWidget control , wxInt16 controlpart )
+void wxChoice::MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool WXUNUSED(mouseStillDown)) 
 {
     wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, m_windowId );
     int n = GetSelection();