Check binary type of all tools.

This commit is contained in:
LoRd_MuldeR 2012-02-02 04:12:58 +01:00
parent e03b846898
commit 4ce96f7e23

View File

@ -330,6 +330,18 @@ void MainWindow::init(void)
QFile *file = new QFile(QString("%1/toolset/%2").arg(m_appDir, current)); QFile *file = new QFile(QString("%1/toolset/%2").arg(m_appDir, current));
if(file->open(QIODevice::ReadOnly)) if(file->open(QIODevice::ReadOnly))
{ {
bool binaryTypeOkay = false;
DWORD binaryType;
if(GetBinaryType(QWCHAR(file->fileName()), &binaryType))
{
binaryTypeOkay = (binaryType == SCS_32BIT_BINARY || binaryType == SCS_64BIT_BINARY);
}
if(!binaryTypeOkay)
{
QMessageBox::critical(this, tr("Invalid File!"), tr("<nobr>At least on required tool is not a valid Win32 binary:<br>%1<br><br>Please re-install the program in order to fix the problem!</nobr>").arg(QDir::toNativeSeparators(QString("%1/toolset/%2").arg(m_appDir, current))).replace("-", "&minus;"));
qFatal(QString("Binary is invalid: %1/toolset/%2").arg(m_appDir, current).toLatin1().constData());
close(); qApp->exit(-1); return;
}
m_toolsList << file; m_toolsList << file;
} }
else else