1. 10 Jul, 2019 11 commits
    • Tusooa Zhu's avatar
      06c60f2b
    • Boudewijn Rempt's avatar
      32b563fa
    • Boudewijn Rempt's avatar
      Warning--: uninitialized variables · eff9bb49
      Boudewijn Rempt authored
      eff9bb49
    • Boudewijn Rempt's avatar
      Warning--: unused parameters · 2667d926
      Boudewijn Rempt authored
      2667d926
    • Boudewijn Rempt's avatar
      Fix warning -Wclass-memaccess · ca741341
      Boudewijn Rempt authored
      In file included from /home/boud/dev/krita/libs/pigment/compositeops/KoCompositeOpCopy2.h:26,
                       from /home/boud/dev/krita/libs/pigment/colorspaces/KoAlphaColorSpace.cpp:35:
      /home/boud/dev/krita/libs/pigment/compositeops/KoCompositeOpBase.h: In instantiation of ‘void KoCompositeOpBase<_CSTraits, _compositeOp>::genericComposite(const KoCompositeOp::ParameterInfo&, const QBitArray&) const [with bool useMask = true; bool alphaLocked = true; bool allChannelFlags = true; _CSTraits = KoColorSpaceTrait<half, 1, 0>; _compositeOp = AlphaColorSpaceMultiplyOp<KoColorSpaceTrait<half, 1, 0> >]’:
      /home/boud/dev/krita/libs/pigment/compositeops/KoCompositeOpBase.h:67:72:   required from ‘void KoCompositeOpBase<_CSTraits, _compositeOp>::composite(const KoCompositeOp::ParameterInfo&) const [with _CSTraits = KoColorSpaceTrait<half, 1, 0>; _compositeOp = AlphaColorSpaceMultiplyOp<KoColorSpaceTrait<half, 1, 0> >]’
      /home/boud/dev/krita/libs/pigment/compositeops/KoCompositeOpBase.h:58:10:   required from here
      /home/boud/dev/krita/libs/pigment/compositeops/KoCompositeOpBase.h:110:27: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘KoCompositeOpBase<KoColorSpaceTrait<half, 1, 0>, AlphaColorSpaceMultiplyOp<KoColorSpaceTrait<half, 1, 0> > >::channels_type’ {aka ‘class half’} with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
                           memset(dst, 0, pixel_size);
                           ~~~~~~^~~~~~~~~~~~~~~~~~~~
      ca741341
    • Boudewijn Rempt's avatar
      fb573579
    • Boudewijn Rempt's avatar
      Try to make the PNG test run on Jenkins · af4656eb
      Boudewijn Rempt authored
      We don't have the HDR profiles on Jenkins, so we need to check
      which ones are available.
      af4656eb
    • Boudewijn Rempt's avatar
      Try to make the kis_tiff_test run on Jenkins · 5830646d
      Boudewijn Rempt authored
      No need to assert if a certain profile cannot be found; we can
      disregard that and handle not getting a colorspace back.
      5830646d
    • Boudewijn Rempt's avatar
      Try to make this test succeed on Jenkins · 32f46f79
      Boudewijn Rempt authored
      Apparently, on Jenkins we cannot create all of these colorspaces,
      so don't fail by dereferencing a null pointer:
      
      ********* Start testing of TestLcmsRGBP2020PQColorSpace *********
      Config: Using QtTest library 5.12.4, Qt 5.12.4 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.1.1 20190611 [gcc-9-branch revision 272147])
      PASS   : TestLcmsRGBP2020PQColorSpace::initTestCase()
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==6181==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7f3f02031167 bp 0x7fff6f5c1290 sp 0x7fff6f5c1280 T0)
      ==6181==The signal is caused by a READ memory access.
      ==6181==Hint: address points to the zero page.
          #0 0x7f3f02031166 in KoColorSpace::id() const /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/libs/pigment/KoColorSpace.cpp:106
          #1 0x41535a in testRoundTrip(KoColorSpace const*, KoColorSpace const*, SourceType) /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:44
          #2 0x418726 in testRoundTrip(KoID const&, KoID const&, SourceType) /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:118
          #3 0x4192b2 in TestLcmsRGBP2020PQColorSpace::test() /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:143
          #4 0x40aa2c in TestLcmsRGBP2020PQColorSpace::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/build/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace_autogen/EWIEGA46WW/moc_TestLcmsRGBP2020PQColorSpace.cpp:78
          #5 0x7f3efcc6889a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib64/libQt5Core.so.5+0x29689a)
          #6 0x7f3f050a0962  (/usr/lib64/libQt5Test.so.5+0x19962)
          #7 0x7f3f050a1352  (/usr/lib64/libQt5Test.so.5+0x1a352)
          #8 0x7f3f050a1910  (/usr/lib64/libQt5Test.so.5+0x1a910)
          #9 0x7f3f050a1cda in QTest::qRun() (/usr/lib64/libQt5Test.so.5+0x1acda)
          #10 0x7f3f050a1edb in QTest::qExec(QObject*, int, char**) (/usr/lib64/libQt5Test.so.5+0x1aedb)
          #11 0x41b9d7 in main /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:185
          #12 0x7f3efc4f2bca in __libc_start_main (/lib64/libc.so.6+0x26bca)
          #13 0x40a8f9 in _start (/home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/build/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace+0x40a8f9)
      
      AddressSanitizer can not provide additional info.
      SUMMARY: AddressSanitizer: SEGV /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/libs/pigment/KoColorSpace.cpp:106 in KoColorSpace::id() const
      ==6181==ABORTING
      32f46f79
    • Boudewijn Rempt's avatar
      Fix the KisimageSignalRouterTest · c5986f60
      Boudewijn Rempt authored
      Either an update to Qt broke testing unregistered types, or
      this test has always been broken, or some other change to
      the KisImageSignalRouter class made it necessary that the
      arguments were registered with qRegisterMetaType...
      
      But KoColorProfile and KoColorSpace cannot be registered
      with qRegisterMetaType because they are abstract classes,
      so we cannot check those signals in this test.
      c5986f60
    • Ivan Yossi's avatar
      Fix copy/paste frames to clipboard · 5b8660d2
      Ivan Yossi authored
      This does not work if source was closed inbetween operations or
      source is in another krita instance.
      
      BUG:408421
      BUG:404595
      5b8660d2
  2. 09 Jul, 2019 17 commits
  3. 08 Jul, 2019 4 commits
    • Agata Cacko's avatar
      Fix Mirror All Layers Horizontally · 8ee3fe67
      Agata Cacko authored
      Before this commit this action would mirror them vertically.
      (It's under Layer -> Transform All Layers -> menu entry)
      8ee3fe67
    • Boudewijn Rempt's avatar
      Add a log line for instant preview · 779e3cba
      Boudewijn Rempt authored
      779e3cba
    • Dmitry Kazakov's avatar
      Possibly fix a crash on systems with openGL 2.1 · d927af0c
      Dmitry Kazakov authored
      OpenGL 2.1 systems are supported, but Small Colro Selector is not
      available for them, because it doesn't have legacy shaders (needs
      to be implemented).
      
      CCBUG:408872
      d927af0c
    • Agata Cacko's avatar
      Fix switching profile to default in New file dialog · 9ebd13b4
      Agata Cacko authored
      Before this commit if you first selected the color model,
      then color profile, then color depth, the color profile would switch to
      default for this color depth no matter that the user just set it
      manually. This is mostly the problem if someone is for example using
      Rec2020 profile for HDR images and switches between 32 and 16 bit
      color depths.
      
      Behaviour now:
      - by default color profile changes to the default one that suits
      the color model and color depth
      - if the user sets the profile manually, it is remembered
      and if it changes color depth, the profile doesn't change
      (keep in mind that "(Default)" suffix is still attached
      to the default profile, so it's easy to find in case the user wants it
      - if the user changes the color model, the default behaviour
      (switching profile automatically) is restored until the user
      sets up the profile maually again.
      
      BUG:406700
      9ebd13b4
  4. 06 Jul, 2019 8 commits
    • Dmitry Kazakov's avatar
      Disable AVX optimizations for 32-bit composite ops · cd5450a8
      Dmitry Kazakov authored
      They cause artifacts and we don't have a fix yet :(
      
      CCBUG:404133
      
      Note from the committer:
      This commit was initially made on krita/4.2 branch.
      However between 4.2.1 and 4.2.2 the stable branch was
      reconstructed, which caused all commits that were exclusively
      on the previous krita/4.2 (and not on master) to be missing.
      
      The previous commit hash: d3e4c3aa299cf10a3ef167213f50799baba9c782
      
      Also regarding the artifacts: it never worked, optimization were
      enabled during the creamy flow implementation, but they never should
      be enabled until someone fix them properly.
      cd5450a8
    • Tusooa Zhu's avatar
      Fix flake tests under asan · e2601072
      Tusooa Zhu authored
      ShapeGroupContainerModel::remove() will call KoShapeGroup::invalidateSizeCache(),
      even when the shape group is going to be destroyed. This method is called after
      KoShapeGroup's destructor, so at this time we no longer have access to members of
      KoShapeGroup, i.e. its d-pointer. So this call will cause access violation as the
      instance `QScopedPointer<Private> d` in KoShapeGroup has already been destroyed.
      
      This is a result of getting rid of derived d-pointers, because if we use a derived
      d-pointer, it only gets destroyed in the ancestor class (KoShape). We temporarily
      fix this problem by manually call `model()->deleteOwnedShapes()` in KoShapeGroup's
      destructor.
      e2601072
    • Boudewijn Rempt's avatar
      Fix debug build temporarily · 67cc69ce
      Boudewijn Rempt authored
      CCMAIL:tusooa@vista.aero
      67cc69ce
    • Boudewijn Rempt's avatar
      Check whether createNewImage has returned 0 · 9d5c4b09
      Boudewijn Rempt authored
      This fixes a crash when pressing cancel when you're trying to
      create a RGB8 linear gamma image, which shouldn't be possible.
      9d5c4b09
    • Tusooa Zhu's avatar
      Rid KoShapeBackground hierarchy of derived d-pointers and KisSharedDescendent · 5cd08da7
      Tusooa Zhu authored
      The class KisSharedDescendent used to be employed to wrap up
      derived d-pointers, but since we have already refactored them
      out, there is no reason to keep them now.
      5cd08da7
    • Tusooa Zhu's avatar
      04897836
    • Tusooa Zhu's avatar
      Revert the implicit sharing of KoImageData · ef8ee1b4
      Tusooa Zhu authored
      KoImageData was explicitly shared, and the implicit sharing
      breaks TestImageCollection
      ef8ee1b4
    • Tusooa Zhu's avatar