1. 12 Sep, 2019 22 commits
  2. 11 Sep, 2019 5 commits
    • Ivan Yossi's avatar
      Fix hang when utf line break is used · 535ca1fc
      Ivan Yossi authored
      Break the loop: if adding an offset to the number of columns doesn't
      increase the line length, we break out of the loop to avoid an
      infinite loop on loading some files.
      Shift + Enter creates an utf break character which breaks
      the lenght calculation. Also added a reptition flag to avoid
      any other hang if there is a strange symbol.
    • Agata Cacko's avatar
      Add a simple progress bar for saving as .kra file · b46a3e6d
      Agata Cacko authored
      This commit adds a simple progress bar to be shown
      when Krita is saving a .kra file.
      It shows only a few values, but it provides more feedback
      than there was before.
    • Boudewijn Rempt's avatar
      Rename addToPalette for more clarity · aa34d6da
      Boudewijn Rempt authored
    • Dmitry Kazakov's avatar
      Fix a crash when loading JPEG image with a weird color profile · 0381878f
      Dmitry Kazakov authored
      The profile in question has a weird RGB->XYZ transformation matrix,
      which is not invertible. Therefore, this profile cannot be used as
      a workspace color profile and we should convert the image to sRGB
      right on loading.
      LCMS doesn't have a separate method for checking if conversion matrix
      is invertible, therefore we just try to create a simple transformation,
      where the profile is both, input and output. If the transformation
      is created successfully, then this profile is probably suitable for
      usage as a working color space.
    • Dmitry Kazakov's avatar
      Fix memory leak in KisJPEGConverter · 46ad1506
      Dmitry Kazakov authored
      LibPNG allocates "profile_data" for us, therefore, we should free it
  3. 09 Sep, 2019 6 commits
  4. 06 Sep, 2019 3 commits
    • Dmitry Kazakov's avatar
      Remove XCB library from the list of dependencies · ca902a45
      Dmitry Kazakov authored
      We don't use it anymore (all the tablet code has been merged back
      into Qt).
    • Dmitry Kazakov's avatar
      Fix crash after cropping a specific image · 0f9c5472
      Dmitry Kazakov authored
      This patch ends the era of the custom "empty extent" value
      QRect(quint32_MAX, quint32_MAX, 0, 0). When I started refactoring
      tile engine ten years ago in 2009, this "empty extent" flag was
      already present. It was just a result of the way how extent was
      calculated those days. I guess it was also considered as
      an "optimization", or as "a flag" that could ease debugging a bit
      (and it actually did help debugging a couple of times).
      Years passed by and I considered to remove this custom value multiple
      times. It was always causing troubles, because the QRect is not safe
      against integer oveflows. But the problem was, there was code outside
      tiles engine that relied on this behavior. So I was always scared of
      the actual removal. Even when the tile engine was rewritten again
      to become lockfree in 2017, I insisted on keeping the old behavior...
      So, it looks like now all code that relies on this custom value is gone,
      so it should be safe to remove it.
      Funny side, I guess it was one of few artifacts that were still kept
      in Krita since 'tiles' and 'tiles_new' days (has anyone ever wondered
      why the engine's folder is called 'tiles3'?) ;)
    • Dmitry Kazakov's avatar
      Remove unused code · 46cc3890
      Dmitry Kazakov authored
  5. 05 Sep, 2019 4 commits
    • Mathias Wein's avatar
      Don't return between QPainter save and restore · 5c326ec1
      Mathias Wein authored
      From Qt docs:
      "A save() must be followed by a corresponding restore();"
      So just move the conditional return up by one statement to avoid
      incorrect stack unwinding in KisPaletteDelegate.
    • Mathias Wein's avatar
      Add back reworked HDR handling to KisVisualColorSelector · 5d9725e3
      Mathias Wein authored
      The exposure is currently auto-compensated, that means your
      selectable dynamic range changes with exposure.
      Also, since it is now possible to tell linear from gamma-curve RGB
      profiles apart, gamma of 2.2 then gets applied by the selector to
      keep that visually even brightness distribution of instead of having
      lighter values dominate the selector space.
    • Mathias Wein's avatar
      Add isLinear() query function to KoColorProfile · f1f556e3
      Mathias Wein authored
      Returns true if a color profile has only linear transfer response curves.
      This implies that that it has transfer response curves.
      Hint: The abstract class IccColorProfile::Profile doesn't really seem
      to server any really purpose anymore (if it ever did), so I didn't touch
      its interface. It might be time to remove it and use non-virtual functions.
    • Mathias Wein's avatar
      Implement optimized renderBackground() for elliptical selector shape · 9dbde0d0
      Mathias Wein authored
      Uses a simple integer radius check to skip pixels outside the mask.
      Also do antialiased outline rendering here instead of redoing
      on every cursor movement.