From 47312b04c0878e0c308794cde08e92c03d4be29e Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 4 Jul 2019 12:53:10 +0200 Subject: [PATCH] QtSupport: Fix header guard for ui files First fix to generate header guards was creating collision with other header guards. So we now do not generate header guards anymore but prepend "#pragma once". Change-Id: I153a874f676188ef47e02e333691e8998f5a6558 Fixes: QTCREATORBUG-22624 Reviewed-by: Christian Kandeler --- src/plugins/qtsupport/uicgenerator.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/qtsupport/uicgenerator.cpp b/src/plugins/qtsupport/uicgenerator.cpp index 9d868932783..abf8790016f 100644 --- a/src/plugins/qtsupport/uicgenerator.cpp +++ b/src/plugins/qtsupport/uicgenerator.cpp @@ -67,7 +67,7 @@ Utils::FilePath UicGenerator::command() const QStringList UicGenerator::arguments() const { - return {source().toString()}; + return {"-p", source().toString()}; } FileNameToContentsHash UicGenerator::handleProcessFinished(QProcess *process) @@ -81,7 +81,9 @@ FileNameToContentsHash UicGenerator::handleProcessFinished(QProcess *process) return result; // As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The // conversion below is to normalize both the encoding, and the line terminators. - result[targetList.first()] = QString::fromLocal8Bit(process->readAllStandardOutput()).toUtf8(); + QByteArray content = QString::fromLocal8Bit(process->readAllStandardOutput()).toUtf8(); + content.prepend("#pragma once\n"); + result[targetList.first()] = content; return result; }