1. 21 Jul, 2016 1 commit
    • Kevin Funk's avatar
      Drop unneeded Qt5Script dependency · e2a18a86
      Kevin Funk authored
      The CMake plugin used to use it, it does not anymore. Same for the qmljs
      lib apparently. Also note Qt5Script is deprecated since 5.5.
      
      Drop the dependency so we can save some of the installer download size
      (around 1-2 MiB)
      e2a18a86
  2. 20 Jul, 2016 3 commits
    • Sven Brauch's avatar
      Hopefully fix screwed-up clang higlighting. · 5d076e29
      Sven Brauch authored
      If you see this happening again, please tell me.
      Make sure to also update kdevplatform.
      CCMAIL:kdevelop-devel@kde.org
      REVIEW:128480
      The issue was that the clang plugin wouldn't store the modification
      revision for files which were marked as "not modified" by KTextEditor.
      Thus, no translation of the highlighting to the new state could be
      performed for those documents. This is wrong, since a document can
      be "not modified", but can still have changed in the time between the
      start of the parse job start and end, etc. Just imagine you
      press save after each character typed.
      5d076e29
    • David Nolden's avatar
      Search declarations by ID in addition to their range · 50041d95
      David Nolden authored
      The declaration search based on "findContextAt" completely fails when
      there are multiple different versions of a header which were parsed
      differently depending on a macro. Also, findContextAt does a linear
      search, and may be slow when there is a large list of contexts.
      Whenever possible, try finding the declaration by its qualified
      identifier based on the duchain symbol table, which should be more
      efficient and scalable.
      
      Extract the qualified identifier from clang by
      following up the chain of semantic parents. After declarations
      were found based on the symbol table, they are filtered
      the same way as those found by findContextAt -- so there should
      be no regressions. When the search fails, then use the previous
      findContextAt method instead.
      
      Added a test which tests several difficult cases that failed
      without this change, and that succeed with it.
      
      This also fixes the testDeclarationsInsideMacroExpansion test,
      which was EXPECT_FAIL, but which succeeds now.
      50041d95
    • David Nolden's avatar
      If no pinned translation unit is available, ask the duchain · a36ae328
      David Nolden authored
      This fixes highlighting, navigation, etc. for complex cases
      where the primitive "buddy" mechanism doesn't help finding
      the translation unit. The buddy mechanism is not correct for
      this case, because it was built around header/source pairs,
      but fails in more complex cases. The duchain import chain
      directly leads to the original transition unit from where
      a header is included recursively.
      a36ae328
  3. 18 Jul, 2016 1 commit
  4. 17 Jul, 2016 2 commits
  5. 15 Jul, 2016 3 commits
  6. 14 Jul, 2016 3 commits
  7. 13 Jul, 2016 8 commits
  8. 12 Jul, 2016 8 commits
  9. 11 Jul, 2016 2 commits
  10. 09 Jul, 2016 2 commits
  11. 05 Jul, 2016 1 commit
  12. 03 Jul, 2016 3 commits
    • David Nolden's avatar
      Parse imports in the correct order. · a2bf38cd
      David Nolden authored
      This is critical for the correct resolution of declarations
      and uses when headers influence each other.
      
      Added two tests which failed before and succeed now. The tests
      also test the more robust linking of uses which I committed
      to kdevplatform, and which allows building functional uses
      across headers that are dependent on each other but don't
      include each other.
      a2bf38cd
    • David Nolden's avatar
      Allow creating navigation widgets for empty-range declarations. · d8145b18
      David Nolden authored
      This makes navigation tooltips work for objects that were
      created by a macro.
      d8145b18
    • Andreas Cord-Landwehr's avatar
      Provide qmake arguments via list. · 4650682b
      Andreas Cord-Landwehr authored
      Summary:
      Provide QProcess arguments as specified by documentation. Apparently,
      with Qt 5.6 QProcess stopped to accept the previously used single string
      argument. This fixes detection of the system's qthelp documentation for
      Qt.
      
      Test Plan: Manual testing.
      
      Reviewers: apol, #kdevelop, kfunk
      
      Reviewed By: apol, #kdevelop, kfunk
      
      Subscribers: kfunk, apol, kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D2065
      4650682b
  13. 02 Jul, 2016 1 commit
    • Andreas Cord-Landwehr's avatar
      Specify category for GHNS · 831d75d4
      Andreas Cord-Landwehr authored
      Summary:
      With my last fixes in Synchrotron, the phenomenon of empty category
      names is gone and no content is assigned to an empty category name
      anymore. With this patch, GHNS again finds the QtHelp files.
      
      Test Plan: Manual testing.
      
      Reviewers: #kdevelop, apol
      
      Reviewed By: #kdevelop, apol
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D2064
      831d75d4
  14. 30 Jun, 2016 1 commit
    • Kevin Funk's avatar
      Fix crash in CMakePreferences::updateCache · 0a3210b8
      Kevin Funk authored
      Happened when invoking a solution involving starting up the
      project config page.
      
      Backtrace:
      
      SUMMARY: AddressSanitizer: undefined-behavior
      /home/kfunk/devel/src/kf5/kdevelop-stable/projectmanagers/cmake/settings/cmakepreferences.cpp:180:9
      in
      ASAN:DEADLYSIGNAL
      =================================================================
      ==31850==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000
      (pc 0x7f10b452f8b7 bp 0x7fff26dce210 sp 0x7fff26dcdd20 T0)
          #0 0x7f10b452f8b6 in CMakePreferences::updateCache(KDevelop::Path
      const&)
      /home/kfunk/devel/src/kf5/kdevelop-stable/projectmanagers/cmake/settings/cmakepreferences.cpp:180:9
          #1 0x7f10b451a94f in CMakePreferences::buildDirChanged(int)
      /home/kfunk/devel/src/kf5/kdevelop-stable/projectmanagers/cmake/settings/cmakepreferences.cpp:231:5
          #2 0x7f10b454f049 in
      QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>,
      void, void (CMakePreferences::*)(int)>::call(void
      (CMakePreferences::*)(int), CMakePreferences*, void**)
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501:13
          #3 0x7f10b454eb5d in void QtPrivate::FunctionPointer<void
      (CMakePreferences::*)(int)>::call<QtPrivate::List<int>, void>(void
      (CMakePreferences::*)(int), CMakePreferences*, void**)
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:520:13
          #4 0x7f10b454e5ff in QtPrivate::QSlotObject<void
      (CMakePreferences::*)(int), QtPrivate::List<int>, void>::impl(int,
      QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:143:17
          #5 0x7f10fb4b8e4e in QMetaObject::activate(QObject*, int, int,
      void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4e4e)
          #6 0x7f10fbe8f380 in QComboBox::currentIndexChanged(int)
      (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x26d380)
          #7 0x7f10fbe917e0
      (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x26f7e0)
          #8 0x7f10fbe93e0c
      (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x271e0c)
          #9 0x7f10fbe9403e in QComboBox::setCurrentIndex(int)
      (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x27203e)
          #10 0x7f10fbe99678
      (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x277678)
          #11 0x7f10fb4b8fc9 in QMetaObject::activate(QObject*, int, int,
      void**) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2b4fc9)
          #12 0x7f10fb535323 in QAbstractItemModel::rowsInserted(QModelIndex
      const&, int, int, QAbstractItemModel::QPrivateSignal)
      (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x331323)
          #13 0x7f10fb432775 in QAbstractItemModel::endInsertRows()
      (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x22e775)
          #14 0x7f10fbb38f32
      (/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x45ef32)
          #15 0x7f10fbe965bb in QComboBox::insertItems(int, QStringList
      const&) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x2745bb)
          #16 0x7f10b454148e in QComboBox::addItems(QStringList const&)
      /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qcombobox.h:174:11
          #17 0x7f10b4526a23 in CMakePreferences::reset()
      /home/kfunk/devel/src/kf5/kdevelop-stable/projectmanagers/cmake/settings/cmakepreferences.cpp:108:5
          #18 0x7f10b4519e3d in
      CMakePreferences::CMakePreferences(KDevelop::IPlugin*,
      KDevelop::ProjectConfigOptions const&, QWidget*)
      /home/kfunk/devel/src/kf5/kdevelop-stable/projectmanagers/cmake/settings/cmakepreferences.cpp:95:5
          #19 0x7f10b4479bd7 in CMakeManager::perProjectConfigPage(int,
      KDevelop::ProjectConfigOptions const&, QWidget*)
      /home/kfunk/devel/src/kf5/kdevelop-stable/projectmanagers/cmake/cmakemanager.cpp:886:20
          #20 0x7f11021ecfdc in
      KDevelop::ProjectControllerPrivate::projectConfig(QObject*)
      /home/kfunk/devel/src/kf5/kdevplatform-stable/shell/projectcontroller.cpp:143:36
          #21 0x7f11021c380f in
      KDevelop::ProjectController::configureProject(KDevelop::IProject*)
      /home/kfunk/devel/src/kf5/kdevplatform-stable/shell/projectcontroller.cpp:976:5
          #22 0x7f10afe80e42 in
      DefinesAndIncludesManager::openConfigurationDialog(QString const&)
      /home/kfunk/devel/src/kf5/kdevelop-stable/languages/plugins/custom-definesandincludes/definesandincludesmanager.cpp:224:9
          ...
      0a3210b8
  15. 28 Jun, 2016 1 commit