]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/choice.cpp
get wxSYS_COLOUR_MENU from a menu bar and not from a button (patch 1887197)
[wxWidgets.git] / src / gtk / choice.cpp
index 294d977377c157750095dff326789bbf5b1bec9b..af2b1092fdbcdd91a5331ab62d2c7ac6f8892af4 100644 (file)
@@ -222,8 +222,8 @@ void wxChoice::DoDeleteOneItem(unsigned int n)
 
     wxArrayString items;
     wxArrayPtrVoid itemsData;
-    items.Alloc(count);
-    itemsData.Alloc(count);
+    items.Alloc(count - 1);
+    itemsData.Alloc(count - 1);
     for ( unsigned i = 0; i < count; i++ )
     {
         if ( i != n )
@@ -235,11 +235,15 @@ void wxChoice::DoDeleteOneItem(unsigned int n)
 
     wxChoice::DoClear();
 
-    void ** const data = &itemsData[0];
-    if ( HasClientObjectData() )
-        Append(items, wx_reinterpret_cast(wxClientData **, data));
-    else
-        Append(items, data);
+    if ( count > 1 )
+    {
+        void ** const data = &itemsData[0];
+        if ( HasClientObjectData() )
+            Append(items, wx_reinterpret_cast(wxClientData **, data));
+        else
+            Append(items, data);
+    }
+    //else: the control is now empty, nothing to append
 }
 
 int wxChoice::FindString( const wxString &string, bool bCase ) const