]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/choice.cpp
String changes for translations,
[wxWidgets.git] / src / msw / choice.cpp
index 0f7d86ec3bca2c99dc17f276a4b23330169fea14..90714d1e5ad0a88d8dc52708e1aa06e5276b6cd8 100644 (file)
@@ -85,12 +85,10 @@ bool wxChoice::Create(wxWindow *parent,
     return TRUE;
 }
 
-/*
 wxChoice::~wxChoice()
 {
     Free();
 }
-*/
 
 // ----------------------------------------------------------------------------
 // adding/deleting items to/from the list
@@ -121,12 +119,11 @@ void wxChoice::Delete(int n)
 
 void wxChoice::Clear()
 {
-//    Free();
+    Free();
 
     SendMessage(GetHwnd(), CB_RESETCONTENT, 0, 0);
 }
 
-/*
 void wxChoice::Free()
 {
     if ( HasClientObjectData() )
@@ -138,7 +135,6 @@ void wxChoice::Free()
         }
     }
 }
-*/
 
 // ----------------------------------------------------------------------------
 // selection
@@ -322,15 +318,18 @@ bool wxChoice::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
     }
 
     int n = GetSelection();
-    wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, m_windowId);
-    event.SetInt(n);
-    event.SetEventObject(this);
-    event.SetString(GetStringSelection());
-    if ( HasClientObjectData() )
-        event.SetClientObject( GetClientObject(n) );
-    else if ( HasClientUntypedData() )
-        event.SetClientData( GetClientData(n) );
-    ProcessCommand(event);
+    if (n > -1)
+    {
+        wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, m_windowId);
+        event.SetInt(n);
+        event.SetEventObject(this);
+        event.SetString(GetStringSelection());
+        if ( HasClientObjectData() )
+            event.SetClientObject( GetClientObject(n) );
+        else if ( HasClientUntypedData() )
+            event.SetClientData( GetClientData(n) );
+        ProcessCommand(event);
+    }
 
     return TRUE;
 }