1. 14 Aug, 2019 1 commit
  2. 10 Aug, 2019 6 commits
  3. 09 Aug, 2019 6 commits
  4. 30 Jul, 2019 1 commit
  5. 29 Jul, 2019 2 commits
  6. 18 Jul, 2019 24 commits
    • Blackbeard (alberto flores)'s avatar
      Fix the segmentation fault · 4d3fbd9b
      Blackbeard (alberto flores) authored
      4d3fbd9b
    • Blackbeard (alberto flores)'s avatar
      065ac9ba
    • Blackbeard (alberto flores)'s avatar
    • Blackbeard (alberto flores)'s avatar
      Added wish list of functions · 4b725d50
      Blackbeard (alberto flores) authored
      4b725d50
    • Boudewijn Rempt's avatar
      Add a log line for instant preview · a88b35d3
      Boudewijn Rempt authored
      a88b35d3
    • Dmitry Kazakov's avatar
      Possibly fix a crash on systems with openGL 2.1 · ee5df6ef
      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
      ee5df6ef
    • Agata Cacko's avatar
      Fix switching profile to default in New file dialog · c951c561
      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
      c951c561
    • Dmitry Kazakov's avatar
      Disable AVX optimizations for 32-bit composite ops · cddaf4e0
      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: d3e4c3aa
      
      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.
      cddaf4e0
    • Tusooa Zhu's avatar
      Fix flake tests under asan · 50d51715
      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.
      50d51715
    • Boudewijn Rempt's avatar
      Fix debug build temporarily · 561291ea
      Boudewijn Rempt authored
      CCMAIL:tusooa@vista.aero
      561291ea
    • Boudewijn Rempt's avatar
      Check whether createNewImage has returned 0 · d56f85e1
      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.
      d56f85e1
    • Tusooa Zhu's avatar
      Rid KoShapeBackground hierarchy of derived d-pointers and KisSharedDescendent · 8cf2d1f0
      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.
      8cf2d1f0
    • Tusooa Zhu's avatar
      03a42c5c
    • Tusooa Zhu's avatar
      Revert the implicit sharing of KoImageData · 57b7509f
      Tusooa Zhu authored
      KoImageData was explicitly shared, and the implicit sharing
      breaks TestImageCollection
      57b7509f
    • Tusooa Zhu's avatar
    • Tusooa Zhu's avatar
      Make KoShapeBackground implicitly sharable · 5ec6d3e6
      Tusooa Zhu authored
      5ec6d3e6
    • Tusooa Zhu's avatar
      Use KisDescendent instead of Descendent · d6cd0de3
      Tusooa Zhu authored
      d6cd0de3
    • Tusooa Zhu's avatar
      83c6168f
    • Tusooa Zhu's avatar
      Add classes KisDescendent and KisSharedDescendent · f4252d3b
      Tusooa Zhu authored
      These two class templates are used to store any subclass of a base class.
      KisSharedDescendent is also inherited from QSharedData, and its use for
      copy-on-write is documented in the comments.
      f4252d3b
    • Tusooa Zhu's avatar
    • Dmitry Kazakov's avatar
      Fix KisNodeModelTest · c0d56f86
      Dmitry Kazakov authored
      c0d56f86
    • Boudewijn Rempt's avatar
      Also fix the timeline_model_test · 47a727a1
      Boudewijn Rempt authored
      47a727a1
    • Boudewijn Rempt's avatar
      "Fix" kisNodeModelTest · 901d3f7d
      Boudewijn Rempt authored
      The KisNodeModelTest didn't set the image it was testing with on
      the document. This broke in KisShapeController::setImage(KisImageWSP image),
      which cleared all connections, then didn't use the image parameter
      but the local doc's image object (which is 0) to reconnect the signals/slots,
      and which then crashed in KisShapeController::slotUpdateDocumentResolution(),
      where the image would still be 0.
      
      Howewever, the question is: should this function even have this parameter?
      If so, should the image then be set on the doc? Should this function even
      exist since it makes it possible to have a local m_doc->image() that is
      different from the image parameter?
      
      There are still a bunch of warnings, too.
      
      boud@boud-ThinkPad-T470p:~/dev/b-krita/libs/ui/tests$ ./kis_node_model_test
      ********* Start testing of KisNodeModelTest *********
      Config: Using QtTest library 5.12.3, Qt 5.12.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 7.4.0)
      PASS   : KisNodeModelTest::initTestCase()
      QWARN  : KisNodeModelTest::testSetImage() KoColor debug runtime checks are active.
      PASS   : KisNodeModelTest::testSetImage()
      QWARN  : KisNodeModelTest::testAddNode() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testAddNode() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testAddNode() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testAddNode() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testAddNode() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      PASS   : KisNodeModelTest::testAddNode()
      QWARN  : KisNodeModelTest::testRemoveAllNodes() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveAllNodes() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveAllNodes() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveAllNodes() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveAllNodes() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      PASS   : KisNodeModelTest::testRemoveAllNodes()
      QWARN  : KisNodeModelTest::testRemoveIncludingRoot() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveIncludingRoot() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveIncludingRoot() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveIncludingRoot() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      QWARN  : KisNodeModelTest::testRemoveIncludingRoot() SAFE ASSERT (krita): "!newNode->parent()" in file /home/boud/dev/krita/libs/image/kis_node.cpp, line 500
      PASS   : KisNodeModelTest::testRemoveIncludingRoot()
      PASS   : KisNodeModelTest::cleanupTestCase()
      Totals: 6 passed, 0 failed, 0 skipped, 0 blacklisted, 1597ms
      ********* Finished testing of KisNodeModelTest *********
      901d3f7d
    • Dmitry Kazakov's avatar