diff options
author | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-04-21 21:03:06 (GMT) |
---|---|---|
committer | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-04-21 21:03:06 (GMT) |
commit | db4e2a600c53ad857d7fa3f7d84ac995215ecf93 (patch) | |
tree | 88ca89842925080cf18eb9f796310a89216828b0 /qmake | |
parent | 4f64ff3e8902529700336c7ad3aa9fccf5ca3e0b (diff) | |
parent | c36ff16f66ffd65839ba1e254ac557e491db6bf4 (diff) | |
download | Qt-db4e2a600c53ad857d7fa3f7d84ac995215ecf93.zip Qt-db4e2a600c53ad857d7fa3f7d84ac995215ecf93.tar.gz Qt-db4e2a600c53ad857d7fa3f7d84ac995215ecf93.tar.bz2 |
Merge branch '4.5'
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt.qdocconf
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/win32/winmakefile.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp index 60a27be..87f55cf 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -432,9 +432,21 @@ void Win32MakefileGenerator::processRcFileVar() writeRcFile = rcFile.readAll() != rcString; rcFile.close(); } - if (writeRcFile && rcFile.open(QFile::WriteOnly)) { - rcFile.write(rcString); - rcFile.close(); + if (writeRcFile) { + bool ok; + ok = rcFile.open(QFile::WriteOnly); + if (!ok) { + // The file can't be opened... try creating the containing + // directory first (needed for clean shadow builds) + QDir().mkpath(QFileInfo(rcFile).path()); + ok = rcFile.open(QFile::WriteOnly); + } + if (!ok) { + ::fprintf(stderr, "Cannot open for writing: %s", rcFile.fileName().toLatin1().constData()); + ::exit(1); + } + rcFile.write(rcString); + rcFile.close(); } if (project->values("QMAKE_WRITE_DEFAULT_RC").isEmpty()) project->values("RC_FILE").insert(0, rcFile.fileName()); |