1. 22 Nov, 2017 3 commits
  2. 21 Nov, 2017 24 commits
  3. 20 Nov, 2017 4 commits
    • Kevin Funk's avatar
      test_kdevformatsource: Fix crash on Windows · 0e43fa96
      Kevin Funk authored
      Unit test is still not fixed though.
      
      Problem:
      ```
      22:30:32 FAIL!  : KDevelop::TestKdevFormatSource::testNoCommands()
      Compared values are not the same
      22:30:32    Actual   (initTest(formatFileData)): 0
      22:30:32    Expected (true)                    : 1
      22:30:32 C:\CI\workspace\KDevelop kdevelop stable-kf5-qt5
      WindowsMSVCQt5.9\kdevplatform\util\tests\test_kdevformatsource.cpp(53) :
      failure location
      22:30:32 QFATAL : KDevelop::TestKdevFormatSource::testNoCommands()
      ASSERT failure in QTest::fetchData(): "Test data requested, but no
      testdata available.", file
      C:\CM-Build\MSVCQt5.9\build\libs\qt5\qtbase\work\qtbase-opensource-src-5.9.1\src\testlib\qtestcase.cpp,
      line 1105
      ```
      0e43fa96
    • Kevin Funk's avatar
      Fix crash deep inside VcsOverlayProxyModel::data() · 6d4591fb
      Kevin Funk authored
      Summary:
      VcsOverlayProxyModel::data() calls ProjectController::changesModel()
      which currently is a non-const method which might create an instance
      of ProjectChangesModel which in turn triggers some KJobs.
      
      Avoid that by instantiating ProjectChangesModel() immediately during
      startup. I don't think that has a real performance impact.
      
      BUG: 384162
      FIXED-IN: 5.2.1
      
      Reviewers: apol
      
      Reviewed By: apol
      
      Subscribers: mwolff, dfaure, brauch, apol, kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8852
      6d4591fb
    • Sven Brauch's avatar
      compute itemrepository version from version plus KDEVELOP_VERSION · 53ec893e
      Sven Brauch authored
      This ensures that for each release, we clear the item repository.
      In the past, we had various issues related to old caches -- this change
      should avold that, since we no longer need to remember to bump the
      ITEMREPOSITORY_VERSION variable on each release.
      
      Changing ITEMREPOSITORY_VERSION is still possible to force a clear even
      if KDEVELOP_VERSION is untouched.
      53ec893e
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 51d174dd
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
      51d174dd
  4. 19 Nov, 2017 9 commits
    • Milian Wolff's avatar
      Merge branch '5.2' · 232d1b57
      Milian Wolff authored
      232d1b57
    • Milian Wolff's avatar
      Don't add the same targets multiple times for nested CMake projects · c2f9b5f2
      Milian Wolff authored
      When we import a cmake project folder and that contains nested
      CMake projects, we ended up showing the same target multiple times,
      since the CMake server output will reference the same targets for
      the parent project and then again for the nested project(s).
      
      Ensure the targets are only added once to fix this issue.
      
      BUG: 387095
      c2f9b5f2
    • Milian Wolff's avatar
      Cleanup: .data()-> to direct usage of -> · 36144e20
      Milian Wolff authored
      36144e20
    • Milian Wolff's avatar
      Suspend the background parser during Core initialization · 0828e3e5
      Milian Wolff authored
      When KDevelop starts up, we will quite early receive the background
      parse requests for the last opened documents in the session. These
      then often get added to the background parser (BP) before the project
      controller is fully initialized - i.e. before any project was even
      tried to be loaded. This means the m_loadingProjects safety guard in
      the BP does not kick in and we create parse jobs with "broken"
      environments, i.e. missing include paths and defines for kdev-clang.
      If, and only if, the document has been modified since the last time
      KDevelop was started, we would actually parse the document with the
      broken environment, leading to flickering when we show the result
      for the broken environment before reparsing it after the project gets
      opened with the correct environment. Additionally, this of course
      adds useless load to the startup phase and frees up resources better
      spent elsewhere at this point.
      
      Note that since the project controller itself delays its
      initialization via the eventloop, we have to add a new signal to
      ensure we resume the background parser only once we have tried to
      open all previous projects, such that the m_loadingProjects safety
      guard in the BP can kick in properly.
      
      This is not fully integration-tested, as it's pretty complicated
      to do so. Rather, we only test the individual parts automatically.
      The full integration test was done manually via:
      
      - create kdev session and open some project
      - open a file in that project
      - close session with file still opened
      - touch file on disk to force reload on next startup
      - restart kdevelop session
      - check visually and via CLI output whether file gets reparsed twice,
        i.e. before the project was loaded and afterwards
      
      This patch series ensures it only gets reparsed once after the project
      finished importing.
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8907
      0828e3e5
    • Milian Wolff's avatar
      Do not create parse jobs while the background parser is suspended · b405d8db
      Milian Wolff authored
      Suspending only stopped the timer and suspended the thread weaver
      queue. This is not enough: When startTimer is called the next time,
      e.g. via ::addDocument, it would still trigger a call of
      parseDocumentsInternal and eventually the creation of a parse job.
      That one wouldn't be able to start working, as the queue is suspended.
      But for clang parse jobs, it would already try to look for the
      foreground parse environment (i.e. include paths and such). A future
      patch will suspend the background parser while the core is being
      initialized, which ensures that we won't create parse jobs with
      broken environments at startup.
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8906
      b405d8db
    • Milian Wolff's avatar
      Add debug output to backgroundparser's resume function · 54683361
      Milian Wolff authored
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8905
      54683361
    • Milian Wolff's avatar
      Fix assertion while running testShutdownWithRunningJobs · 6549922e
      Milian Wolff authored
      Summary:
      Don't assert the validity of the IndexedString (while calling toUrl
      on it), in the JobPlan's updateReady callback while the core is
      shutting down. This is potentially getting called when the database
      has been shutdown, leaving an empty/invalid string behind.
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8904
      6549922e
    • Milian Wolff's avatar
      Cleanup: share code to add jobs to background parser in unit test · fbc3fa53
      Milian Wolff authored
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8903
      fbc3fa53
    • Milian Wolff's avatar
      Cleanup: Introduce isSuspended helper function · 8e97ba4c
      Milian Wolff authored
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8902
      8e97ba4c