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

Reply via email to