--- a/Preferences/ProgramsDialog.py Fri Mar 26 15:57:07 2010 +0000 +++ b/Preferences/ProgramsDialog.py Sun Mar 28 09:27:19 2010 +0000 @@ -226,7 +226,10 @@ else: exe = Utilities.getExecutablePath(exe) if exe: - if versionCommand and versionStartsWith and versionPosition: + if versionCommand and \ + (versionStartsWith != "" or \ + (versionRe is not None and versionRe != "")) and \ + versionPosition: proc = QProcess() proc.setProcessChannelMode(QProcess.MergedChannels) proc.start(exe, [versionCommand]) @@ -241,10 +244,14 @@ versionRe = re.compile(versionRe, re.UNICODE) for line in output.splitlines(): if versionRe.search(line): - version = line.split()[versionPosition] - if versionCleanup: - version = version[versionCleanup[0]:versionCleanup[1]] - break + try: + version = line.split()[versionPosition] + if versionCleanup: + version = \ + version[versionCleanup[0]:versionCleanup[1]] + break + except IndexError: + version = self.trUtf8("(unknown)") else: version = self.trUtf8("(not executable)") QTreeWidgetItem(itm, [exe, version])