fixed a bug in handling mailcap entries with more than one commands with tests
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
ebf776c5b8
commit
c93d67707f
@ -910,24 +910,27 @@ wxFileTypeImpl::GetEntry(const wxFileType::MessageParameters& params) const
|
||||
wxString command;
|
||||
MailCapEntry *entry = m_manager->m_aEntries[m_index[0]];
|
||||
while ( entry != NULL ) {
|
||||
// notice that an empty command would always succeed (it's ok)
|
||||
// get the command to run as the test for this entry
|
||||
command = wxFileType::ExpandCommand(entry->GetTestCmd(), params);
|
||||
|
||||
// suppress the command output
|
||||
if ( !command.IsEmpty() )
|
||||
// don't trace the test result if there is no test at all
|
||||
if ( command.IsEmpty() )
|
||||
{
|
||||
if ( wxSystem(command) == 0 ) {
|
||||
// ok, passed
|
||||
wxLogTrace(TRACE_MIME,
|
||||
wxT("Test '%s' for mime type '%s' succeeded."),
|
||||
command.c_str(), params.GetMimeType().c_str());
|
||||
break;
|
||||
}
|
||||
else {
|
||||
wxLogTrace(TRACE_MIME,
|
||||
wxT("Test '%s' for mime type '%s' failed."),
|
||||
command.c_str(), params.GetMimeType().c_str());
|
||||
}
|
||||
// no test at all, ok
|
||||
break;
|
||||
}
|
||||
|
||||
if ( wxSystem(command) == 0 ) {
|
||||
// ok, test passed
|
||||
wxLogTrace(TRACE_MIME,
|
||||
wxT("Test '%s' for mime type '%s' succeeded."),
|
||||
command.c_str(), params.GetMimeType().c_str());
|
||||
break;
|
||||
}
|
||||
else {
|
||||
wxLogTrace(TRACE_MIME,
|
||||
wxT("Test '%s' for mime type '%s' failed."),
|
||||
command.c_str(), params.GetMimeType().c_str());
|
||||
}
|
||||
|
||||
entry = entry->GetNext();
|
||||
|
Loading…
Reference in New Issue
Block a user