1. 07 Jan, 2019 1 commit
    • Dmitry Kazakov's avatar
      Add a CMake option for ASAN address sanitizer · 05762b6e
      Dmitry Kazakov authored
      Summary:
      To activate sanitizer you should activate three options (it will cause
      a full rebuild):
      
      -DCMAKE_BUILD_TYPE=Debug \
      -DKRITA_DEVS=ON \
      -DKRITA_DEVS_SANITIZER
      
      After that, yiou should install llvm to get pretty
      backtrace output with resolved symbols:
      
      # find out the version of llvm installed
      sudo apt list 'libllvm*'
      
      # install the corresponding llvm binaries
      sudo apt install llvm-X.X # where X.X is a version of libllvm package
      
      export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-X.X # where X.X is the verison of your llvm
      export ASAN_OPTIONS=fast_unwind_on_malloc=1:symbolize=1:malloc_context_size=15
      
      Test Plan:
      Compile Krita and try to make it crash with a memory problem. Instead
      of failing with SIGSEGV it should crash with ASAN backtrace :)
      
      Reviewers: #krita, rempt
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D17853
      05762b6e
  2. 28 Dec, 2018 1 commit
    • Andreas Sturmlechner's avatar
      Fix building against exiv2-0.27 · 6b6758bb
      Andreas Sturmlechner authored
      Summary:
      Copied FindLibExiv2.cmake from ECM 5.53.0 until we raise min version.
      
      Thanks-to: Boudewijn Rempt <boud@valdyas.org>
      for final fix to kis_xmp_io.cpp.
      
      CCBUG: 402566
      
      Test Plan: Built fine against exiv2-0.26 and exiv2-0.27.
      
      Reviewers: #krita, rempt
      
      Reviewed By: #krita, rempt
      
      Subscribers: pino
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D17810
      6b6758bb
  3. 21 Oct, 2018 1 commit
  4. 20 Oct, 2018 1 commit
  5. 17 Oct, 2018 1 commit
  6. 12 Oct, 2018 1 commit
    • Boudewijn Rempt's avatar
      Remove the KIO dependency · c7133578
      Boudewijn Rempt authored
      I'm just sick and tired of people complaining krita needs "all of
      KDE" because some distributions pull in kwallet just because we
      use KIO for registering recently used files with the desktop.
      c7133578
  7. 05 Oct, 2018 1 commit
  8. 27 Jul, 2018 2 commits
  9. 25 Jul, 2018 1 commit
    • Boudewijn Rempt's avatar
      Replace the KritaDevs build type with a cmake option · 01b24dd6
      Boudewijn Rempt authored
      Qt5's cmake scripts check the build type, and for anything other
      than Debug append -DQT_NO_DEBUG, which disables Q_ASSERT. We
      want to build with optimizations (-O3 -g) and without QT_NO_DEBUG
      when developing Krita, so we catch the asserts and still have
      a realistic performance.
      
      CCMAIL:kimageshop@kde.org
      01b24dd6
  10. 17 Jul, 2018 1 commit
  11. 12 Jul, 2018 1 commit
  12. 09 Jul, 2018 1 commit
  13. 02 Jul, 2018 1 commit
  14. 30 Jun, 2018 2 commits
  15. 26 Jun, 2018 2 commits
  16. 19 Jun, 2018 1 commit
  17. 15 Jun, 2018 1 commit
  18. 05 Jun, 2018 1 commit
  19. 28 May, 2018 1 commit
  20. 25 May, 2018 1 commit
  21. 23 May, 2018 2 commits
    • Boudewijn Rempt's avatar
      Remove the Qt version override · d45af361
      Boudewijn Rempt authored
      It's no longer possible to build Krita with Qt < 5.6:
      
      [ 26%] Building CXX object
      libs/flake/CMakeFiles/kritaflake.dir/kritaflake_automoc.cpp.o
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:
      In member function ‘qreal LayoutChunkWrapper::skipSpaceCharacter(int)’:
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:371:41:
      error: ‘class QTextLayout’ has no member named ‘formats’
                    formatForPos(pos, m_layout->formats());
                                                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:
      In member function ‘void KoSvgTextShape::relayout()’:
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:425:17:
      error: ‘class QTextLayout’ has no member named ‘setFormats’
                layout->setFormats(chunk.formats);
                        ^
      In file included from
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:37:0,
                        from
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:41,
                        from
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:40,
                        from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                        from
      /home/domain/farindk/prog/h265/krita/libs/flake/KoShapeFactoryBase.h:25,
                        from
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.h:24,
                        from
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:19:
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:66:
      error: ‘const class QTextLayout’ has no member named ‘formats’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                                                                         ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:66:
      error: ‘const class QTextLayout’ has no member named ‘formats’
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: template argument 1 is invalid
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: template argument 1 is invalid
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: expected ‘::’ before ‘_container_’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:66:
      error: ‘const class QTextLayout’ has no member named ‘formats’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                                                                         ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: request for member ‘control’ in ‘_container_’, which is of
      non-class type ‘int’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      
      (cherry picked from commit a0899ca6)
      d45af361
    • Boudewijn Rempt's avatar
      Remove the Qt version override · a0899ca6
      Boudewijn Rempt authored
      It's no longer possible to build Krita with Qt < 5.6:
      
      [ 26%] Building CXX object
      libs/flake/CMakeFiles/kritaflake.dir/kritaflake_automoc.cpp.o
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:
      In member function ‘qreal LayoutChunkWrapper::skipSpaceCharacter(int)’:
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:371:41:
      error: ‘class QTextLayout’ has no member named ‘formats’
                    formatForPos(pos, m_layout->formats());
                                                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:
      In member function ‘void KoSvgTextShape::relayout()’:
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:425:17:
      error: ‘class QTextLayout’ has no member named ‘setFormats’
                layout->setFormats(chunk.formats);
                        ^
      In file included from
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:37:0,
                        from
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:41,
                        from
      /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:40,
                        from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1,
                        from
      /home/domain/farindk/prog/h265/krita/libs/flake/KoShapeFactoryBase.h:25,
                        from
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.h:24,
                        from
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:19:
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:66:
      error: ‘const class QTextLayout’ has no member named ‘formats’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                                                                         ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:66:
      error: ‘const class QTextLayout’ has no member named ‘formats’
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: template argument 1 is invalid
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: template argument 1 is invalid
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: expected ‘::’ before ‘_container_’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:66:
      error: ‘const class QTextLayout’ has no member named ‘formats’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                                                                         ^
      /home/domain/farindk/prog/h265/krita/libs/flake/text/KoSvgTextShape.cpp:487:9:
      error: request for member ‘control’ in ‘_container_’, which is of
      non-class type ‘int’
                Q_FOREACH (const QTextLayout::FormatRange &range,
      layout.formats()) {
                ^
      a0899ca6
  22. 21 May, 2018 1 commit
  23. 18 May, 2018 1 commit
    • Boudewijn Rempt's avatar
      If there translations in the build or src dir, install them · c8b8a016
      Boudewijn Rempt authored
      Note: I have no idea whether the createtarball ruby script would
      still add this code at the end of the top-level CMakeLists.txt
      file...
      
      Second note: to fetch the translations, run cmake with the following
      option:
      
      cmake ../krita -DKDE_L10N_AUTO_TRANSLATIONS=ON -D... This will
      fetch the translations from subversion (so svn needs to be installed).
      If you build master, it will fetch the right translations.
      
      Not sure whether if you're on the stable branch, it will automatically
      know that that's the stable branch...
      
      You can also run "make fetch-translations" manually.
      
      CCMAIL:kimageshop@kde.org
      BUG:394381
      c8b8a016
  24. 16 May, 2018 1 commit
  25. 14 May, 2018 1 commit
    • Boudewijn Rempt's avatar
      Disable QtQuick on macOS · 4b7bf8ed
      Boudewijn Rempt authored
      The touch docker isn't that awesome on systems without a touch
      screen and running the qml plugin saves cached compiled files
      in the app bundle and that breaks signing. So disable this
      until I've found out how to make Qt Quick on macOS save its
      generated files in the user's home folder.
      
      CCBUG:394188
      4b7bf8ed
  26. 10 May, 2018 1 commit
  27. 11 Apr, 2018 2 commits
  28. 10 Apr, 2018 1 commit
  29. 04 Apr, 2018 1 commit
  30. 20 Mar, 2018 1 commit
  31. 05 Mar, 2018 2 commits
  32. 02 Mar, 2018 1 commit
  33. 21 Feb, 2018 1 commit
  34. 20 Feb, 2018 1 commit