wxString GetVerb (size_t i)
     {
-        if (i < 0) return wxEmptyString;
         if (i > GetCount() ) return wxEmptyString;
         wxString sTmp = Item(i).BeforeFirst(wxT('='));
         return sTmp;
 
     wxString GetCmd (size_t i)
     {
-        if (i < 0) return wxEmptyString;
         if (i > GetCount() ) return wxEmptyString;
         wxString sTmp = Item(i).AfterFirst(wxT('='));
         return sTmp;
 
     wxString GetVerb (size_t i)
     {
-        if (i < 0) return wxEmptyString;
         if (i > GetLineCount() ) return wxEmptyString;
         wxString sTmp = GetLine(i).BeforeFirst(wxT('='));
         return sTmp;
 
     wxString GetCmd (size_t i)
     {
-        if (i < 0) return wxEmptyString;
         if (i > GetLineCount() ) return wxEmptyString;
         wxString sTmp = GetLine(i).AfterFirst(wxT('='));
         return sTmp;
 //  a) for "brief" format:
 //      <mime type>  <space separated list of extensions>
 //  b) for "expanded" format:
-//      type=<mime type> \ 
-//      desc="<description>" \ 
+//      type=<mime type> BACKSLASH
+//      desc="<description>" BACKSLASH
 //      exts="<comma separated list of extensions>"
 //
+// (where BACKSLASH is a literal '\\' which we can't put here because cpp
+// misinterprets it)
+//
 // We try to autodetect the format of mime.types: if a non-comment line starts
 // with "type=" we assume the second format, otherwise the first one.
 
         else
         {
             WriteMimeInfo(nIndex, TRUE );
-            m_aTypes.Remove (nIndex);
-            m_aEntries.Remove (nIndex);
-            m_aExtensions.Remove (nIndex);
-            m_aDescriptions.Remove (nIndex);
-            m_aIcons.Remove (nIndex);
+            m_aTypes.RemoveAt(nIndex);
+            m_aEntries.RemoveAt(nIndex);
+            m_aExtensions.RemoveAt(nIndex);
+            m_aDescriptions.RemoveAt(nIndex);
+            m_aIcons.RemoveAt(nIndex);
         }
     }
     // check data integrity