1. 20 Aug, 2019 1 commit
    • Dmitry Kazakov's avatar
      Fix ConcurrentMap::migrationInProcess() to handle initialization value (0) properly · 2ffdc5b0
      Dmitry Kazakov authored
      Job coordinator of the table may have three states:
      1) jobCoordinator == 0: the table was initialized, but no migration
         has ever been started for this table
      2) jobCoordinator > 1: a table migration is in progress right now. The
         caller should join *jobCoordinator to help finishing the migration.
      3) jobCoordinator == 1: the table migration has been finished. It means
         that the table doesn't have any values in it anymore.
      The patch actually fixes the map to consider case 1 as a situation, when
      there is no migration.
  2. 14 Aug, 2019 1 commit
    • Agata Cacko's avatar
      Fix transform worker tests failing because of NN · f54b48bb
      Agata Cacko authored
      Tests for transform worker were failing because the result files
      contained results from the old version of NN/Box filter.
      Since I changed it a bit in 57c3194c
      the old result files were no longer valid.
      This commit updates the result files.
      Also since the execution of the filter on one of the images
      resulted in a transparent pixel in the location that the previous filter
      had a non-transparent pixel, it changed the size of the resulting image
      so it didn't pass the test partially because of the change in size.
      Since other tests don't check the size, I removed the checks in this
      test, too. (Because of the transparency in the test image, it is possible
      that the resulting image will have a different size even though it is
      not scaled in this dimension.)
  3. 12 Aug, 2019 2 commits
    • Ivan Yossi's avatar
      Add missing override · d9ac1267
      Ivan Yossi authored
    • Dmitry Kazakov's avatar
      Fix lags in Move Tool when using tablet device · dcdef2ea
      Dmitry Kazakov authored
      Now the Move Tool uses the same FSP-limiting compression as the freehand
      tool does. The relevant code has been moved into a special class
      KisAsyncronousStrokeUpdateHelper, which implements a logic of issuing
      threshold events.
      Bascially, all the sources of event (tablet move and async update from
      KisAsyncronousStrokeUpdateHelper) now try to initiate a canvas update.
      If enough time has passed and previous updates has finished, then a new
      update is started.
      One more important change: now actual layer offset change is executed in
      the same exclusive job as the updates (with limited FPS), therefore, it
      avoids garbage-looking leftovers of the intemediate move states.
  4. 10 Aug, 2019 1 commit
  5. 09 Aug, 2019 1 commit
  6. 02 Aug, 2019 4 commits
  7. 01 Aug, 2019 1 commit
  8. 30 Jul, 2019 1 commit
    • Dmitry Kazakov's avatar
      Make KisToolTransform fully asynchronous · eb17ce74
      Dmitry Kazakov authored
      Now all initialization of the transform tool has been moved into the
      stroke's context. It means that the tool doesn't need to block event
      loop until it image is finished anymore.
      The fix uses he new features of the strokes framework, specifically
      mutated stroke jobs.
  9. 29 Jul, 2019 3 commits
  10. 20 Jul, 2019 1 commit
  11. 19 Jul, 2019 1 commit
  12. 17 Jul, 2019 1 commit
  13. 15 Jul, 2019 1 commit
  14. 10 Jul, 2019 3 commits
    • Boudewijn Rempt's avatar
      Fix whitespace · a9a53464
      Boudewijn Rempt authored
    • Boudewijn Rempt's avatar
      Warning--: uninitialized variables · eff9bb49
      Boudewijn Rempt authored
    • 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.
  15. 09 Jul, 2019 1 commit
    • Agata Cacko's avatar
      Fix drag'n'drop of Fill layers between opened files · df5a97ef
      Agata Cacko authored
      Before this commit, that would result in crash if you drop
      the layer or the group with the layer on the canvas of another file
      (in the subwindows mode). This commit contains a fix so now it works
      as expected.
  16. 28 Jun, 2019 4 commits
    • Ivan Yossi's avatar
      Partially revert bd9602f5 · b7bd264b
      Ivan Yossi authored
    • Ivan Yossi's avatar
    • Ivan Yossi's avatar
      Fix no isInState on creation and copy · 66cdfabc
      Ivan Yossi authored
      This allows shift + Click rely on node isInStasis property
      to have allow a saved previous state operation
      TODO: pick a suitable visual cur for "inStasis" mode
    • Agata Cacko's avatar
      Fix cloning not-opacity scalar keyframe channels · 54928c45
      Agata Cacko authored
      Before this commit, duplicating a layer with keyframe channels
      that weren't specifically an opacity keyframe channel resulted in
      loss of those channels. This commit provides an universal solution for
      all scalar kyeframe channels available.
      At this point there is no way of making a scalar keyframe channel
      except for opacity keyframes unless you make a change in the code and
      compile it yourself (see animation_docker.cpp, line 508), so there
      is/should be no change in behaviour for users. However if you enable
      animated transform masks, this become crucial for both duplicating
      layers and saving the file with keyframes (it doesn't work for now,
      but without this commit it most probably wouldn't).
  17. 24 Jun, 2019 3 commits
  18. 21 Jun, 2019 1 commit
  19. 20 Jun, 2019 3 commits
    • Agata Cacko's avatar
      Fix merging layers with not active selection masks · 8cd5fbb7
      Agata Cacko authored
      Before this commit, there was an assumption in the merging code
      that a layer can have only one selection mask (which can be
      gathered using ->selectionMask() function). This caused all non-active
      selection mask to disappear during/after the merging.
      This commit fixes that behaviour by taking all children of the merged
      layer that happen to be KisSelectionMasks into account.
      Note: it doesn't mean all of the selection masks will be preserved;
      for now only the immediate child nodes of the selected layers are
    • Dmitry Kazakov's avatar
      Make sanity checks in the scanline fill more relaxed · d1435c13
      Dmitry Kazakov authored
      Basically, we should use safe asserts for them to ensure that the
      user doesn't have a data-loss.
    • Dmitry Kazakov's avatar
      Fix crash when trying to fill a pixel selection in fast mode · 165e1dca
      Dmitry Kazakov authored
      The fill color must have a color space of the destination device
  20. 19 Jun, 2019 1 commit
  21. 18 Jun, 2019 4 commits
  22. 13 Jun, 2019 1 commit