1. 15 Jul, 2019 1 commit
  2. 13 Jul, 2019 1 commit
  3. 10 Jul, 2019 1 commit
  4. 09 Jul, 2019 1 commit
  5. 24 Jun, 2019 1 commit
  6. 01 Apr, 2019 1 commit
  7. 08 Feb, 2019 1 commit
    • Gleb Popov's avatar
      Workaround the bug found by ASan, which can be seen on FreeBSD CI. · af569639
      Gleb Popov authored and Kevin Funk's avatar Kevin Funk committed
      Summary:
      Currently many tests fail (at least on FreeBSD) with ASan turned on. This is what happening:
      
      - `test_toolviewtoolbar` creates an action, a `ToolDocument` and a `View` in the `init()` function.
      - `ToolViewAction` registers itself as event filter for the created `View`.
      - When `cleanup` is called, the controller gets deleted. This causes removal of its children (`QObject::deleteChildren()`), included the mentioned `View`.
      - Somewhere later during destruction, some `QEvent` arrives and gets passed to `ToolViewAction::eventFilter()`. This function accesses `->widget()` method of `m_dock->view()`, but that `View` is already deleted, which causes ASan error.
      
      Note that adding `removeEventFilter()` to `ToolViewAction::~ToolViewAction()` doesn't solve the problem - the event arrival happens before `ToolViewAction` destruction.
      
      Full ASan report:
      
      ```
      ********* Start testing of TestToolViewToolBar *********
      Config: Using QtTest library 5.12.0, Qt 5.12.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by Clang 6.0.1 (tags/RELEASE_601/final 335540))
      PASS   : TestToolViewToolBar::initTestCase()
      =================================================================
      ==21936==ERROR: AddressSanitizer: heap-use-after-free on address 0x6030000958a0 at pc 0x000800465e5a bp 0x7fffffffd230 sp 0x7fffffffd228
      READ of size 8 at 0x6030000958a0 thread T0
          #0 0x800465e59 in QScopedPointer<Sublime::ViewPrivate, QScopedPointerDeleter<Sublime::ViewPrivate> >::operator->() const /usr/local/include/qt5/QtCore/qscopedpointer.h:118:16
          #1 0x80046352f in Sublime::View::widget(QWidget*) /home/arr/projects/kdevelop/kdevplatform/sublime/view.cpp:76:10
          #2 0x800498c53 in ToolViewAction::eventFilter(QObject*, QEvent*) /home/arr/projects/kdevelop/kdevplatform/sublime/idealbuttonbarwidget.cpp:85:40
          #3 0x802027193 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Core.so.5+0x427193)
          #4 0x80127decb in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Widgets.so.5+0x27decb)
          #5 0x80127f27c in QApplication::notify(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Widgets.so.5+0x27f27c)
          #6 0x802026ef0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Core.so.5+0x426ef0)
          #7 0x802051020 in QObjectPrivate::setParent_helper(QObject*) (/usr/local/lib/qt5/libQt5Core.so.5+0x451020)
          #8 0x802050c11 in QObject::~QObject() (/usr/local/lib/qt5/libQt5Core.so.5+0x450c11)
          #9 0x801e4762e in QAbstractAnimation::~QAbstractAnimation() (/usr/local/lib/qt5/libQt5Core.so.5+0x24762e)
          #10 0x801e4cfa4 in QPropertyAnimation::~QPropertyAnimation() (/usr/local/lib/qt5/libQt5Core.so.5+0x24cfa4)
          #11 0x802051461 in QObject::event(QEvent*) (/usr/local/lib/qt5/libQt5Core.so.5+0x451461)
          #12 0x80127dee0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Widgets.so.5+0x27dee0)
          #13 0x80127f27c in QApplication::notify(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Widgets.so.5+0x27f27c)
          #14 0x802026ef0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/local/lib/qt5/libQt5Core.so.5+0x426ef0)
          #15 0x802027db8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/local/lib/qt5/libQt5Core.so.5+0x427db8)
          #16 0x800323331  (/usr/local/lib/qt5/libQt5Test.so.5+0x1e331)
          #17 0x800323bee  (/usr/local/lib/qt5/libQt5Test.so.5+0x1ebee)
          #18 0x800324988  (/usr/local/lib/qt5/libQt5Test.so.5+0x1f988)
          #19 0x80032517b in QTest::qRun() (/usr/local/lib/qt5/libQt5Test.so.5+0x2017b)
          #20 0x800324ef3 in QTest::qExec(QObject*, int, char**) (/usr/local/lib/qt5/libQt5Test.so.5+0x1fef3)
          #21 0x2b97fb in main /home/arr/projects/kdevelop/kdevplatform/sublime/tests/test_toolviewtoolbar.cpp:144:1
      
      0x6030000958a0 is located 16 bytes inside of 24-byte region [0x603000095890,0x6030000958a8)
      freed by thread T0 here:
          #0 0x2b51f2 in operator delete(void*) /usr/src/contrib/compiler-rt/lib/asan/asan_new_delete.cc:149:3
          #1 0x800463371 in Sublime::View::~View() /home/arr/projects/kdevelop/kdevplatform/sublime/view.cpp:61:1
          #2 0x802050de9 in QObjectPrivate::deleteChildren() (/usr/local/lib/qt5/libQt5Core.so.5+0x450de9)
          #3 0x802050bf0 in QObject::~QObject() (/usr/local/lib/qt5/libQt5Core.so.5+0x450bf0)
          #4 0x80041a3be in Sublime::Document::~Document() /home/arr/projects/kdevelop/kdevplatform/sublime/document.cpp:73:21
          #5 0x8004626de in Sublime::ToolDocument::~ToolDocument() /home/arr/projects/kdevelop/kdevplatform/sublime/tooldocument.cpp:48:29
          #6 0x800462708 in Sublime::ToolDocument::~ToolDocument() /home/arr/projects/kdevelop/kdevplatform/sublime/tooldocument.cpp:48:29
          #7 0x802050de9 in QObjectPrivate::deleteChildren() (/usr/local/lib/qt5/libQt5Core.so.5+0x450de9)
          #8 0x802050bf0 in QObject::~QObject() (/usr/local/lib/qt5/libQt5Core.so.5+0x450bf0)
          #9 0x800405d9a in Sublime::Controller::~Controller() /home/arr/projects/kdevelop/kdevplatform/sublime/controller.cpp:113:1
          #10 0x800405dc8 in Sublime::Controller::~Controller() /home/arr/projects/kdevelop/kdevplatform/sublime/controller.cpp:111:1
          #11 0x2b82af in TestToolViewToolBar::cleanup() /home/arr/projects/kdevelop/kdevplatform/sublime/tests/test_toolviewtoolbar.cpp:88:5
          #12 0x2bef0c in TestToolViewToolBar::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/arr/projects/kdevelop/build/kdevplatform/sublime/tests/test_toolviewtoolbar_autogen/EWIEGA46WW/moc_test_toolviewtoolbar.cpp:85:21
          #13 0x8020320ce in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/local/lib/qt5/libQt5Core.so.5+0x4320ce)
          #14 0x800323318  (/usr/local/lib/qt5/libQt5Test.so.5+0x1e318)
          #15 0x800323bee  (/usr/local/lib/qt5/libQt5Test.so.5+0x1ebee)
          #16 0x800324988  (/usr/local/lib/qt5/libQt5Test.so.5+0x1f988)
          #17 0x80032517b in QTest::qRun() (/usr/local/lib/qt5/libQt5Test.so.5+0x2017b)
          #18 0x800324ef3 in QTest::qExec(QObject*, int, char**) (/usr/local/lib/qt5/libQt5Test.so.5+0x1fef3)
          #19 0x2b97fb in main /home/arr/projects/kdevelop/kdevplatform/sublime/tests/test_toolviewtoolbar.cpp:144:1
      
      previously allocated by thread T0 here:
          #0 0x2b4612 in operator new(unsigned long) /usr/src/contrib/compiler-rt/lib/asan/asan_new_delete.cc:92:3
          #1 0x80041b02e in Sublime::Document::newView(Sublime::Document*) /home/arr/projects/kdevelop/kdevplatform/sublime/document.cpp:117:21
          #2 0x80041a604 in Sublime::Document::createView() /home/arr/projects/kdevelop/kdevplatform/sublime/document.cpp:82:18
          #3 0x2b6eac in TestToolViewToolBar::init() /home/arr/projects/kdevelop/kdevplatform/sublime/tests/test_toolviewtoolbar.cpp:72:22
          #4 0x2beefe in TestToolViewToolBar::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/arr/projects/kdevelop/build/kdevplatform/sublime/tests/test_toolviewtoolbar_autogen/EWIEGA46WW/moc_test_toolviewtoolbar.cpp:84:21
          #5 0x8020320ce in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/local/lib/qt5/libQt5Core.so.5+0x4320ce)
          #6 0x80032302d  (/usr/local/lib/qt5/libQt5Test.so.5+0x1e02d)
          #7 0x800323bee  (/usr/local/lib/qt5/libQt5Test.so.5+0x1ebee)
          #8 0x800324988  (/usr/local/lib/qt5/libQt5Test.so.5+0x1f988)
          #9 0x80032517b in QTest::qRun() (/usr/local/lib/qt5/libQt5Test.so.5+0x2017b)
          #10 0x800324ef3 in QTest::qExec(QObject*, int, char**) (/usr/local/lib/qt5/libQt5Test.so.5+0x1fef3)
          #11 0x2b97fb in main /home/arr/projects/kdevelop/kdevplatform/sublime/tests/test_toolviewtoolbar.cpp:144:1
      
      SUMMARY: AddressSanitizer: heap-use-after-free /usr/local/include/qt5/QtCore/qscopedpointer.h:118:16 in QScopedPointer<Sublime::ViewPrivate, QScopedPointerDeleter<Sublime::ViewPrivate> >::operator->() const
      ==21936==ABORTING
      ```
      
      Subscribers: kdevelop-devel, #kdevelop
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D18463
      
      (cherry picked from commit fbb955c7)
      af569639
  8. 20 Jan, 2019 1 commit
  9. 10 Jan, 2019 1 commit
    • Milian Wolff's avatar
      Actually cleanup the duchain from the background thread · 48e5892f
      Milian Wolff authored
      Turns out that my commit bf183ce7 from May 2017 moved the
      background cleanup task into the foreground thread... Sorry for that!
      
      When we connect to the timer event, we must use a context object
      that lives within the background thread. The thread itself *does not*
      live in itself!
      
      Fix this by passing the timer itself as context and
      add an assertion to verify we don't ever do this again.
      
      BUG: 388743
      48e5892f
  10. 23 Dec, 2018 1 commit
  11. 14 Dec, 2018 1 commit
  12. 26 Nov, 2018 3 commits
    • Morten Volden's avatar
      Use qCWarning in path.cpp. · 22c9a57f
      Morten Volden authored
      Summary: Change from qWarning to Using qCWarning in Path.cpp
      
      Test Plan: Build on both Windows and Linux
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kfunk, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D17174
      22c9a57f
    • Morten Volden's avatar
      Fix projectmodel unittest to work on Windows. · de81ab5c
      Morten Volden authored
      Summary: Fix projectmodel unittest to work on Windows. Use paths according to the platform we are using
      
      Test Plan: Compile and test on Windows (Debug build) to see the unittests are passing. Compile and test on Linux to see that the test pass (As before)
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D17130
      de81ab5c
    • Morten Volden's avatar
      Make the filteringstrategy test work on Windows as well. · d46ed701
      Morten Volden authored and Kevin Funk's avatar Kevin Funk committed
      Summary: This requires some changes to some of the regexes used in CompilerFilterStrategy to get to work. Also the test itself is now somewhat more specific about what path type to test on which platform.
      
      Test Plan: Compile the changes on Windows and verify that the test now passes (In Debug mode). Compile the changes on Linux and verify that all tests pass (as before). Verify that the bench number still look reasonable
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D17098
      
      (cherry picked from commit 35026c08)
      d46ed701
  13. 24 Nov, 2018 1 commit
    • Morten Volden's avatar
      Fix problem model test on Windows. Make sure that when we create a path the... · 436303a9
      Morten Volden authored
      Fix problem model test on Windows. Make sure that when we create a path the root of that path is created according to what is expected on the current platform. E.g. C: on Windows.
      
      Summary: Fix problem model test on Windows. Make sure that when we create a path the root of that path is created according to what is expected on the current platform.
      
      Test Plan: Build and test on Windows. See that the test is passing. Build on Linux and verify that test is passing (As before)
      
      Reviewers: #kdevelop, brauch
      
      Reviewed By: #kdevelop, brauch
      
      Subscribers: brauch, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D17131
      436303a9
  14. 21 Nov, 2018 1 commit
    • Morten Volden's avatar
      Make test outputmodel pass on windows. · 3dae4914
      Morten Volden authored
      Summary: When doing the benchmark test on windows. Make sure that we use windows paths. Otherwise the test will fail (in debug builds) in an assert in util/path.cpp
      
      Test Plan: Run the test in a Windows debug build environment. Before patch it fails. After patch is applied it succeeds. Run test on Linux and see that test stil completes
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D17077
      3dae4914
  15. 16 Nov, 2018 2 commits
    • Friedrich W. H. Kossebau's avatar
      Disable plugin project config if project without a IBuildSystemManager dep · a3c782ac
      Friedrich W. H. Kossebau authored
      Summary:
      The Clazy plugin relies on the project providing a buildsystem manager
      to query for the toplevel build directory. If a project has no such manager,
      showing the Clazy plugin config pages in the project settings has no
      purpose.
      As a session might contain different projects, some with a buildsystem
      manager, some without, simply disabling the Clazy plugin might not be
      wanted for the projects with a buildsystem manager.
      So we need to have some condition whether to show some plugins per-project
      config pages or not.
      For a start, motivated by the crash with the Clazy plugin which has a
      hard assumption of project->buildSystemManager() being != nullptr,
      this patch adds to the code to collect the config pages for the project
      settings dialog some special code which makes use of the plugin metadata
      to skip plugins which require a org.kdevelop.IBuildSystemManager, if
      there is no buildsystem manager available for the project.
      As well adds the (so far missing) entry
      X-KDevelop-IRequired: [org.kdevelop.IBuildSystemManager]
      to the metadata.
      
      BUG: 400769
      
      Test Plan:
      Clazy config is no longer shown in the project settings dialog if the
      project is used with the generic project manager.
      
      Reviewers: #kdevelop, apol
      
      Reviewed By: #kdevelop, apol
      
      Subscribers: kfunk, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D16915
      a3c782ac
    • Rolf Eike Beer's avatar
      tests: fix naming of test lines · 7b9572d3
      Rolf Eike Beer authored and Kevin Funk's avatar Kevin Funk committed
      (cherry picked from commit 2e82c3e5)
      7b9572d3
  16. 31 Oct, 2018 2 commits
    • Bernd Buschinski's avatar
      FunctionDefinition: only look for (new/other) function definition if we don't have one · 3c51faa2
      Bernd Buschinski authored
      Summary:
      FunctionDefinition::definition always looks for FunctionDefinition based on the DeclarationId, but we don't need to do that if we already have a FunctionDefinition.
      This could cause problems if we have multiple (same) definitions.
      
      Test Plan:
      - create a small cmake (or whatever) project with 3 targets
      -- util1.c / util2.c / util3.c (same content):
      
      ```
      #include <stdio.h>
      #include <stdlib.h>
      
      void configure()
      {
          printf("do stuff in %s\n", __FILE__);
      }
      
      int main(int argc, char *argv[])
      {
          configure();
          puts("Hello, UTIL!");
          exit(EXIT_SUCCESS);
      }
      ```
      
      -- CMakeLists.txt:
      ```
      add_executable(util1 util1.c)
      add_executable(util2 util2.c)
      add_executable(util3 util3.c)
      ```
      
      - open util1.c
      - open the outline and select "configure"
      - EXPECTED: it should open the configure in util1.c (or the currently opened file)
      - repeat with util2 and util3
      - ACTUAL: only one of them works, the other two point to the wrong file.
      
      Reviewers: #kdevelop, mwolff
      
      Reviewed By: #kdevelop, mwolff
      
      Subscribers: mwolff, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D16356
      3c51faa2
    • Bernd Buschinski's avatar
      Fix memleaks in duchain unittests · c3c30113
      Bernd Buschinski authored
      Summary:
      The TypeSystem::create test was changed as now the destruction is also taken into account for QBENCHMARK
      
      The TopDUContext dtor is protected, however you can execute
      delete TopDUContext; but it will NOT call the protected TopDUContext dtor but the public DUContext dtor.
      
      Test Plan:
      - compile kdevelop unitest with ASAN&LSAN
      - execute test_duchain
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kfunk, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D16458
      c3c30113
  17. 26 Oct, 2018 1 commit
    • Kevin Funk's avatar
      Minor: Silence spurious Clang warning · cf0ff290
      Kevin Funk authored
      Warning:
        .../kdevplatform/shell/sessioncontroller.cpp:371:12: warning: local variable 'l' will be copied despite being returned by name [-Wreturn-std-move]
      cf0ff290
  18. 25 Oct, 2018 2 commits
  19. 24 Oct, 2018 3 commits
  20. 23 Oct, 2018 1 commit
  21. 22 Oct, 2018 3 commits
    • Milian Wolff's avatar
      Make the code compile with older Qt · b30d6ef9
      Milian Wolff authored and Kevin Funk's avatar Kevin Funk committed
      Sadly, we can't yet use the QMetaObject::invokeMethod
      that takes a functor...
      
      (cherry picked from commit fc68afeb)
      b30d6ef9
    • Milian Wolff's avatar
      Fix crashes when document gets destroyed directly after load · 0be566e3
      Milian Wolff authored and Kevin Funk's avatar Kevin Funk committed
      This fixes the clang code completion unit test, which used to
      crash on exit since the event loop wasn't run between loading
      a document and destroying it again.
      
      To guard against this, we need to jump through a QPointer hoop,
      which requires some lambda boiler plate but otherwise isn't too bad.
      
      (cherry picked from commit 8f9f8d1c)
      0be566e3
    • Kevin Funk's avatar
      Fix memleaks in unittests · e3c0a1ad
      Kevin Funk authored
      Summary:
      Fix memory leaks in unittests to make it easier to find real memory leaks in the tested code.
      
      Fixed tests:
      - test_projectmodel
      - test_areaoperation
      - test_controller
      - test_toolviewtoolbar
      - test_viewactivation
      
      NOTE: this does not fix all memory leaks in all unittests, this is just s start to keep the changes small
      
      Test Plan:
      - cmake -DCMAKE_BUILD_TYPE=Debug -DECM_ENABLE_SANITIZERS='address' -DBUILD_TESTING=ON ..
      - make test
      
      Many tests will fail because of LSAN (leak sanitizer), which is enabled (at least here) by default with ASAN.
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: brauch, kfunk, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D16064
      e3c0a1ad
  22. 18 Oct, 2018 1 commit
    • Friedrich W. H. Kossebau's avatar
      Context browser: fix handleRect for non-symbol tooltips · 27c15b18
      Friedrich W. H. Kossebau authored
      Summary:
      The ContextBrowserPlugin::showToolTip() tried to calculate the handle
      rect for the tooltip in all cases from DUChainUtils::itemUnderCursor(),
      which currently in case of no symbol repots a valid empty range at
      position 0,0.
      
      This results in bogus active zones for the tooltips for problem tooltips,
      but also languages where the language support plugin has many items not
      in the DUChain (like the CMake support plugin).
      
      This patches fixes this by
      a) changing ILanguageSupport::specialLanguageObjectNavigationWidget()
      to report not only the widget but also which document range the object
      covers for which the widget was created.
      b) collect the ranges from all places from which the tooltip widget is
      fetched
      
      Test Plan:
      Tooltips for problems and cmake symbols behave now similar to those for e.g.
      C++ symbols. E.g.. tooltips for items at the bottom of the screen, where the
      tooltip is shown above, the tooltip now can be entered by the mouse and does
      not disappear on a move.
      C++ language tooltips work as before.
      
      Reviewers: #kdevelop, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kfunk, brauch, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D16203
      27c15b18
  23. 15 Oct, 2018 1 commit
    • Christoph Roick's avatar
      Prevent QWebEngine from overriding signal handlers · 27eaf33c
      Christoph Roick authored and Kevin Funk's avatar Kevin Funk committed
      Summary:
      - The documentation view may use QWebEngine, which is based on
        Chromium, which installs its own signals handlers. This breaks
        the use of KCrash.
      - Overriding the signal handlers can be prevented by setting an
        environment variable before the use, just like in D16004.
      
      Test Plan:
      - open a documentation page in KDevelop
      - kill SIGABRT KDevelop -> DrKonqi shows up
      
      Reviewers: #kdevelop, apol
      
      Reviewed By: #kdevelop, apol
      
      Subscribers: kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D16188
      27eaf33c
  24. 04 Oct, 2018 1 commit
    • Friedrich W. H. Kossebau's avatar
      Fix calling qdbus by using qt5-current name qdbus-qt5 · f9309d65
      Friedrich W. H. Kossebau authored
      Summary:
      Due to Qt not providing OOTB support for parallel installation of different
      base versions (like Qt4 and Qt5), Linux distributions have separated into
      different approaches how to name the Qt tools like qmake and qdbus.
      Many use -qt4 and -qt5 suffixes and link the normal name to a variant, e.g.
      controlled by a custom tool qtchooser. Others kept the Qt4 versions to stay
      with the names, and only added a suffix -qt5 to the new ones.
      
      Test Plan:
      There is no longer a warning about missing qtdbus in the embedded konsole on
      opening. The commands like search! & Co. work again.
      
      Reviewers: #kdevelop, lbeltrame, fvogt, jriddell, kfunk
      
      Subscribers: kfunk, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D15606
      f9309d65
  25. 27 Sep, 2018 2 commits
    • Amish Naidu's avatar
      Sublime: Rename private member of IdealButtonBarLayout for consistency · 03054591
      Amish Naidu authored
      Renamed older member of the class to conform to modern style guidelines
      and consistency with the newly added member.
      
      Okayed on IRC by frinring
      03054591
    • Amish Naidu's avatar
      Sublime: Fix crash when changing areas · 7169b3ac
      Amish Naidu authored
      Summary:
      Fixes regression introduced in D15450 by making IdealButtonBarLayout derive from
      QBoxLayout instead of QLayout and thus delete most operations to Qt instead
      of manually handling them, removing the bugged implementation.
      
      Added minimumSizeHint in IdealToolButton to prevent it from being resized
      to zero.
      
      IdealButtonBarLayout is now a child layout for vertical bars as well,
      the top level layout is stretched and allows for context menu.
      
      BUG: 399025
      
      Reviewers: #kdevelop, kossebau, rjvbb
      
      Reviewed By: #kdevelop, kossebau, rjvbb
      
      Subscribers: kossebau, rjvbb, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D15625
      7169b3ac
  26. 15 Sep, 2018 1 commit
    • Amish Naidu's avatar
      Sublime: Fix window growing larger by making tool view buttons shrinkable · b95bc1c3
      Amish Naidu authored
      Summary:
      Items will be shrinked in the IdealButtonBarLayout, instead of
      overflowing and forcing the window larger.
      Geometries are calculated so that only the bigger will be contracted
      while items smaller than a relative threshold won't contract.
      Consequently, the window will no longer grow when changing from Debug to Code.
      
      IdealToolButtons: Instead of simply truncating text, they will elide text while painting.
      
      IdealButtonBarWidget: Previously the layout attached to the object was being used to add
      buttons, which for the bottom bar wrongly meant a super-layout while the
      IdealButtonBarLayout added to this super-layout was being ignored, introduced a new
      member to use the proper layout for all orientations.
      
      BUG: 384711
      
      Reviewers: #kdevelop, kossebau
      
      Reviewed By: #kdevelop, kossebau
      
      Subscribers: kossebau, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D15450
      b95bc1c3
  27. 12 Sep, 2018 3 commits
  28. 11 Sep, 2018 1 commit