Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package qtcreator If Qt version is installed such that qtchooser sees it, but does not have corresponding qmake installed, qtcreator will segfault on start. Minimal patch in -7 corrects this oversight of the original change. This is Debian bug #770007 (severity: important) The interdiff for the changes is, diff -u qtcreator/src/plugins/qtsupport/qtversionmanager.cpp qtcreator/src/plugins/qtsupport/qtversionmanager.cpp --- qtcreator/src/plugins/qtsupport/qtversionmanager.cpp 2014-10-24 18:25:44.855836576 -0500 +++ qtcreator/src/plugins/qtsupport/qtversionmanager.cpp 2014-11-18 10:40:46.775871633 -0600 @@ -435,14 +435,15 @@ static void addSystemQtVersion(FileName qmake_fn) { BaseQtVersion *v = QtVersionFactory::createQtVersionFromQMakePath(qmake_fn, true); - m_versions.insert(v->uniqueId(), v); + if (v) + m_versions.insert(v->uniqueId(), v); } static void updateSystemQt() { QString systemQMakePath = BuildableHelperLibrary::findSystemQt(Environment::systemEnvironment()).toString(); QStringList qmakePathsFromQtChooser = gatherQmakePathsFromQtChooser(); - if (!qmakePathsFromQtChooser.contains(systemQMakePath)) + if (!systemQMakePath.isEmpty() && !qmakePathsFromQtChooser.contains(systemQMakePath)) qmakePathsFromQtChooser << systemQMakePath; qmakePathsFromQtChooser.sort(); The debdiff can be viewed either at http://anonscm.debian.org/cgit/pkg-kde/qt/qtcreator.git/commit/?id=725f0d4abca4442c7f517a1300bd067febf00509 or below, diff -Nru qtcreator-3.2.1+dfsg/debian/changelog qtcreator-3.2.1+dfsg/debian/changelog --- qtcreator-3.2.1+dfsg/debian/changelog 2014-10-24 18:28:28.000000000 -0500 +++ qtcreator-3.2.1+dfsg/debian/changelog 2014-11-18 10:34:54.000000000 -0600 @@ -1,3 +1,10 @@ +qtcreator (3.2.1+dfsg-7) unstable; urgency=medium + + * Adds a missing check for a partially installed Qt version that is + reported in qtchooser but is lacking qmake. (closes: #770007) + + -- Adam Majer <ad...@zombino.com> Tue, 18 Nov 2014 09:55:32 -0600 + qtcreator (3.2.1+dfsg-6) unstable; urgency=medium * Fix previous patch so autodetected Qt versions can be used and saved diff -Nru qtcreator-3.2.1+dfsg/debian/patches/always_autotect_qt_versions qtcreator-3.2.1+dfsg/debian/patches/always_autotect_qt_versions --- qtcreator-3.2.1+dfsg/debian/patches/always_autotect_qt_versions 2014-10-24 18:25:47.000000000 -0500 +++ qtcreator-3.2.1+dfsg/debian/patches/always_autotect_qt_versions 2014-11-18 10:40:52.000000000 -0600 @@ -1,7 +1,7 @@ Index: qtcreator/src/plugins/qtsupport/qtversionmanager.cpp =================================================================== --- qtcreator.orig/src/plugins/qtsupport/qtversionmanager.cpp 2014-10-22 21:36:36.474107687 -0500 -+++ qtcreator/src/plugins/qtsupport/qtversionmanager.cpp 2014-10-24 18:25:44.855836576 -0500 ++++ qtcreator/src/plugins/qtsupport/qtversionmanager.cpp 2014-11-18 10:40:46.775871633 -0600 @@ -139,7 +139,7 @@ static BaseQtVersion::QmakeBuildConfigs qmakeBuildConfigFromCmdArgs(QList<QMakeAssignment> *assignments, BaseQtVersion::QmakeBuildConfigs defaultBuildConfig); @@ -30,7 +30,7 @@ emit m_instance->qtVersionsLoaded(); emit m_instance->qtVersionsChanged(m_versions.keys(), QList<int>(), QList<int>()); -@@ -435,27 +432,54 @@ +@@ -435,27 +432,55 @@ m_writer->save(data, Core::ICore::mainWindow()); } @@ -43,7 +43,8 @@ - if (!systemQMakePath.isNull()) - systemQMakes << systemQMakePath; + BaseQtVersion *v = QtVersionFactory::createQtVersionFromQMakePath(qmake_fn, true); -+ m_versions.insert(v->uniqueId(), v); ++ if (v) ++ m_versions.insert(v->uniqueId(), v); +} +static void updateSystemQt() @@ -54,7 +55,7 @@ - foreach (const QString &qmakePath, qmakePathsFromQtChooser) { - FileName qmake = FileName::fromString(qmakePath); - systemQMakes << qmake; -+ if (!qmakePathsFromQtChooser.contains(systemQMakePath)) ++ if (!systemQMakePath.isEmpty() && !qmakePathsFromQtChooser.contains(systemQMakePath)) + qmakePathsFromQtChooser << systemQMakePath; + qmakePathsFromQtChooser.sort(); + unblock qtcreator/3.2.1+dfsg-7 Thanks, Adam -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org