diff --git a/mingw-w64-qtcreator/0001-Qbs-Do-not-crash-when-using-simplified-project-view.patch b/mingw-w64-qtcreator/0001-Qbs-Do-not-crash-when-using-simplified-project-view.patch new file mode 100644 index 0000000000..c62d9694a7 --- /dev/null +++ b/mingw-w64-qtcreator/0001-Qbs-Do-not-crash-when-using-simplified-project-view.patch @@ -0,0 +1,90 @@ +From 06615843df1541e67686f6a016f0c81e154c1869 Mon Sep 17 00:00:00 2001 +From: Tobias Hunger +Date: Tue, 23 Sep 2014 13:05:00 +0200 +Subject: [PATCH] Qbs: Do not crash when using simplified project view + +Root cause is trying to set the display name on a FolderNode that +is not in the tree yet. + +Allow setting the displayname in the constructor and use that new +constructor where it makes sense. + +Task-number: QTCREATORBUG-12897 +Change-Id: I907e48cac837966e38524bfe88a87ef17d93f0b2 +Reviewed-by: Daniel Teske +--- + src/plugins/projectexplorer/projectnodes.cpp | 6 ++++-- + src/plugins/projectexplorer/projectnodes.h | 3 ++- + src/plugins/qbsprojectmanager/qbsnodes.cpp | 9 +++++---- + 3 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp +index c0a8a8e..b3bc123 100644 +--- a/src/plugins/projectexplorer/projectnodes.cpp ++++ b/src/plugins/projectexplorer/projectnodes.cpp +@@ -247,10 +247,12 @@ bool FileNode::isGenerated() const + + \sa ProjectExplorer::FileNode, ProjectExplorer::ProjectNode + */ +-FolderNode::FolderNode(const QString &folderPath, NodeType nodeType) : ++FolderNode::FolderNode(const QString &folderPath, NodeType nodeType, const QString &displayName) : + Node(nodeType, folderPath), +- m_displayName(QDir::toNativeSeparators(folderPath)) ++ m_displayName(displayName) + { ++ if (m_displayName.isEmpty()) ++ m_displayName = QDir::toNativeSeparators(folderPath); + } + + FolderNode::~FolderNode() +diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h +index 8212e71..233f930 100644 +--- a/src/plugins/projectexplorer/projectnodes.h ++++ b/src/plugins/projectexplorer/projectnodes.h +@@ -162,7 +162,8 @@ private: + class PROJECTEXPLORER_EXPORT FolderNode : public Node { + Q_OBJECT + public: +- explicit FolderNode(const QString &folderPath, NodeType nodeType = FolderNodeType); ++ explicit FolderNode(const QString &folderPath, NodeType nodeType = FolderNodeType, ++ const QString &displayName = QString()); + virtual ~FolderNode(); + + QString displayName() const; +diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp +index ee63fbd..48af5cd 100644 +--- a/src/plugins/qbsprojectmanager/qbsnodes.cpp ++++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp +@@ -527,14 +527,15 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, + break; + } + if (!fn) { +- fn = new FolderNode(c->path()); ++ fn = new FolderNode(c->path(), ProjectExplorer::FolderNodeType, ++ displayNameFromPath(c->path(), baseDir)); + root->addFolderNodes(QList() << fn); + } else { + foldersToRemove.removeOne(fn); + if (updateExisting) + fn->emitNodeUpdated(); ++ fn->setDisplayName(displayNameFromPath(c->path(), baseDir)); + } +- fn->setDisplayName(displayNameFromPath(c->path(), baseDir)); + + setupFolder(fn, c, c->path(), updateExisting); + } +@@ -811,9 +812,9 @@ QbsProjectNode *QbsProjectNode::findProjectNode(const QString &name) + QbsRootProjectNode::QbsRootProjectNode(QbsProject *project) : + QbsProjectNode(project->projectFilePath().toString()), + m_project(project), +- m_buildSystemFiles(new ProjectExplorer::FolderNode(project->projectDirectory().toString())) ++ m_buildSystemFiles(new ProjectExplorer::FolderNode(project->projectDirectory().toString(), ++ ProjectExplorer::FolderNodeType, tr("Qbs files"))) + { +- m_buildSystemFiles->setDisplayName(tr("Qbs files")); + addFolderNodes(QList() << m_buildSystemFiles); + } + +-- +2.1.2 + diff --git a/mingw-w64-qtcreator/PKGBUILD b/mingw-w64-qtcreator/PKGBUILD index e4862072e8..13f54a2541 100644 --- a/mingw-w64-qtcreator/PKGBUILD +++ b/mingw-w64-qtcreator/PKGBUILD @@ -8,7 +8,7 @@ pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" #_base_ver=3.3.0 _base_ver=3.2.1 pkgver=${_base_ver}${_pre} -pkgrel=1 +pkgrel=2 pkgdesc='Cross-patform IDE (mingw-w64)' url='http://qt-project.org' install=qt-creator-${CARCH}.install @@ -30,6 +30,7 @@ optdepends=("${MINGW_PACKAGE_PREFIX}-gdb: for the debugger" _pkgfqn="${_realname}-opensource-src-${_base_ver}${__pre}" source=(#http://download.qt-project.org/development_releases/qtcreator/${_base_ver%.*}/${_base_ver}${__pre}/${_pkgfqn}.tar.gz http://download.qt-project.org/official_releases/qtcreator/${pkgver%.*}/${pkgver}/${_pkgfqn}.tar.gz + 0001-Qbs-Do-not-crash-when-using-simplified-project-view.patch 0001-autotools-Allow-builds-to-be-done-in-buildDir.patch 0001-autotools-Remove-broken-unchanged-check.patch 0002-autotools-Use-summaryInWorkdir.patch @@ -45,6 +46,7 @@ source=(#http://download.qt-project.org/development_releases/qtcreator/${_base_v ) noextract=(${_pkgfqn}.tar.gz) sha256sums=('dd212d2379a08ca481ffc79fdf18ede48de0f5d025f485f06dccfe9aec67e74e' + '18f59946054e667b56276f53ec544d4786c3c249fee6c0bd9b0b565ed4b7cf2d' '6c34b2bad7a24c5922d237dc67fcced14e83d65116f77cd84aa80ae2ebd4aad9' '2f45ff4c2806c90c36f19da07707fef213e50fbf8825fe169e1bce6349efacee' '22253cf29a2c8effebb1cc8313a0f350cf993d7fc404763063e6bd8444fa61f1' @@ -63,6 +65,7 @@ prepare() { tar -xzf ${SRCDEST}/${_pkgfqn}.tar.gz -C $srcdir || true cd ${srcdir}/${_pkgfqn} + patch -p1 -i "${srcdir}"/0001-Qbs-Do-not-crash-when-using-simplified-project-view.patch # Attempting to upstream: https://codereview.qt-project.org/#/c/93073/ patch -p1 -i "${srcdir}"/0001-autotools-Allow-builds-to-be-done-in-buildDir.patch # patch -p1 -i "${srcdir}"/0001-autotools-Remove-broken-unchanged-check.patch