X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/926ce9e3ac32e1a33cc43420f76876fac8868436..f30f25b559728c48e767774a34a72bde28bc85f7:/src/unix/mimetype.cpp diff --git a/src/unix/mimetype.cpp b/src/unix/mimetype.cpp index ec6d47e5cb..f5e986fe99 100644 --- a/src/unix/mimetype.cpp +++ b/src/unix/mimetype.cpp @@ -124,6 +124,11 @@ public: if ( idx ) *idx = n; } + else if ( idx ) + { + // different from any valid index + *idx = (size_t)-1; + } return s; } @@ -646,7 +651,9 @@ void wxMimeTypesManagerImpl::LoadGnomeDataFromKeyFile(const wxString& filename, nLine++; } // end of while, save any data - if (! curMimeType.empty()) + if ( curMimeType.empty() ) + delete entry; + else AddToMimeData( curMimeType, curIconFile, entry, strExtensions, strDesc); } @@ -1398,13 +1405,17 @@ size_t wxFileTypeImpl::GetAllCommands(wxArrayString *verbs, count++; if ( vrb.IsSameAs(wxT("open"))) { - verbs->Insert(vrb, 0u); - commands ->Insert(cmd, 0u); + if ( verbs ) + verbs->Insert(vrb, 0u); + if ( commands ) + commands ->Insert(cmd, 0u); } else { - verbs->Add(vrb); - commands->Add(cmd); + if ( verbs ) + verbs->Add(vrb); + if ( commands ) + commands->Add(cmd); } } }