Search
j0ke.net Open Build Service
>
Projects
>
home:netmax
:
playground
>
opt-libqt4-sql-plugins
> 0188-fix-moc-parser-same-name-header.diff
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File 0188-fix-moc-parser-same-name-header.diff of Package opt-libqt4-sql-plugins
qt-bugs@ issue : none Trolltech task ID : none applied: yes author: Helio Chissini de Castro <helio@kde.org> os: unix In situations where included header have same name as their parent dir, i.e. include/QtMyModule/QtMyModule and #include <QtMyModule> on code. moc will fail if parent dir was added in front of includepath. moc -Iinclude -Iinclude/QtMyModule fails moc -Iinclude/QtMyModule works This patch move dir test to proper place, as entry is validated only if is a real file, not a dir. Detected by qca2 plugins code that uses QtCrypto/QtCrypto Thanks to Thiago to find proper syntax Index: src/tools/moc/preprocessor.cpp =================================================================== --- src/tools/moc/preprocessor.cpp.orig +++ src/tools/moc/preprocessor.cpp @@ -799,7 +799,7 @@ void Preprocessor::preprocess(const QByt QFileInfo fi; if (local) fi.setFile(QFileInfo(QString::fromLocal8Bit(filename)).dir(), QString::fromLocal8Bit(include)); - for (int j = 0; j < Preprocessor::includes.size() && !fi.exists(); ++j) { + for (int j = 0; j < Preprocessor::includes.size() && ( !fi.exists() || fi.isDir() ); ++j) { const IncludePath &p = Preprocessor::includes.at(j); if (p.isFrameworkPath) { const int slashPos = include.indexOf('/'); @@ -819,7 +819,7 @@ void Preprocessor::preprocess(const QByt } } - if (!fi.exists() || fi.isDir()) + if ( !fi.exists() ) continue; include = fi.canonicalFilePath().toLocal8Bit();