event.m_commandInt = aSelections[0] ;
             event.m_clientData = listbox->GetClientData( event.m_commandInt );
             wxString str(listbox->GetString(event.m_commandInt));
-            if (str != "") event.m_commandString = copystring((char *)(const char *)str);
+            if (!str.IsEmpty()) event.m_commandString = str;
         }
         else
         {
             event.m_commandInt = -1 ;
-            event.m_commandString = copystring("") ;
+            event.m_commandString.Empty();
         }
 
         listbox->GetEventHandler()->ProcessEvent( event );
 
-        if (event.m_commandString) delete[] event.m_commandString ;
     }
 
     return FALSE;
         event.m_commandInt = aSelections[0] ;
         event.m_clientData = listbox->GetClientData( event.m_commandInt );
         wxString str(listbox->GetString(event.m_commandInt));
-        if (str != "") event.m_commandString = copystring((char *)(const char *)str);
+        if (!str.IsEmpty()) event.m_commandString = str;
     }
     else
     {
         event.m_commandInt = -1 ;
-        event.m_commandString = copystring("") ;
+        event.m_commandString.Empty();
     }
 
     event.SetEventObject( listbox );
 
     listbox->GetEventHandler()->ProcessEvent( event );
-    if (event.m_commandString) delete[] event.m_commandString ;
 }
 
 //-----------------------------------------------------------------------------
 
       }
       return *g_systemBtnFaceColour;
     }
+    case wxSYS_COLOUR_GRAYTEXT:
     case wxSYS_COLOUR_BTNSHADOW:
     {
       GtkStyle *style = gtk_widget_get_default_style();
       }
       return *g_systemBtnShadowColour;
     }
-    case wxSYS_COLOUR_GRAYTEXT:
     case wxSYS_COLOUR_BTNHIGHLIGHT:
     {
       GtkStyle *style = gtk_widget_get_default_style();
 
             event.m_commandInt = aSelections[0] ;
             event.m_clientData = listbox->GetClientData( event.m_commandInt );
             wxString str(listbox->GetString(event.m_commandInt));
-            if (str != "") event.m_commandString = copystring((char *)(const char *)str);
+            if (!str.IsEmpty()) event.m_commandString = str;
         }
         else
         {
             event.m_commandInt = -1 ;
-            event.m_commandString = copystring("") ;
+            event.m_commandString.Empty();
         }
 
         listbox->GetEventHandler()->ProcessEvent( event );
 
-        if (event.m_commandString) delete[] event.m_commandString ;
     }
 
     return FALSE;
         event.m_commandInt = aSelections[0] ;
         event.m_clientData = listbox->GetClientData( event.m_commandInt );
         wxString str(listbox->GetString(event.m_commandInt));
-        if (str != "") event.m_commandString = copystring((char *)(const char *)str);
+        if (!str.IsEmpty()) event.m_commandString = str;
     }
     else
     {
         event.m_commandInt = -1 ;
-        event.m_commandString = copystring("") ;
+        event.m_commandString.Empty();
     }
 
     event.SetEventObject( listbox );
 
     listbox->GetEventHandler()->ProcessEvent( event );
-    if (event.m_commandString) delete[] event.m_commandString ;
 }
 
 //-----------------------------------------------------------------------------
 
       }
       return *g_systemBtnFaceColour;
     }
+    case wxSYS_COLOUR_GRAYTEXT:
     case wxSYS_COLOUR_BTNSHADOW:
     {
       GtkStyle *style = gtk_widget_get_default_style();
       }
       return *g_systemBtnShadowColour;
     }
-    case wxSYS_COLOUR_GRAYTEXT:
     case wxSYS_COLOUR_BTNHIGHLIGHT:
     {
       GtkStyle *style = gtk_widget_get_default_style();