1. 09 Jan, 2020 1 commit
    • Lamarque Souza's avatar
      Commit 97c03e0f was reverted · 8a0b7cbe
      Lamarque Souza authored
      by ef55574a and then the crash
      happens again.
      
      I have tested this change and it does not break PalleteDocker.
      
      PS: KIS_ASSERT_RECOVER_RETURN_VALUE trigger an assert and krita
      fails to start up. KisPaletteModel::index works if I use
      KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE and change
      KoColorSet::getGroup to return null pointer when its name
      parameter is an empty string, but KisSwatchGroup::rowCount
      crashes, so I think it is simpler to return an default
      QModelIndex as soon as possible in KisPaletteModel::index
      
      CCBUG:414890
      8a0b7cbe
  2. 07 Jan, 2020 4 commits
  3. 06 Jan, 2020 1 commit
  4. 19 Dec, 2019 1 commit
  5. 09 Dec, 2019 1 commit
    • Jasper Hartog's avatar
      Fix comparison of double spin box · 8bc2965d
      Jasper Hartog authored
      When the value of a QDoubleSpinBox is changed it will be round down to the amount of decimals that are assigned to that spin box. The KisDoubleParseSpinBox would check the new unrounded value with the current rounded value, which resulted in an incorrect comparison.
      8bc2965d
  6. 04 Dec, 2019 2 commits
  7. 30 Nov, 2019 1 commit
    • Lamarque Souza's avatar
      Fix crash when starting Krita with Qt compiled in debug mode. · 97c03e0f
      Lamarque Souza authored
      This is the backtrace:
      
      0  0x00007ffff38a11cc in KoColorSet::getGroup(QString const&) () from
      /usr/lib64/libkritapigment.so.18
      1  0x00007ffff3d2aa69 in KisPaletteModel::index(int, int, QModelIndex
      const&) const () from /usr/lib64/libkritawidgets.so.18
      2  0x00007ffff5812796 in
      QAbstractItemView::setModel(QAbstractItemModel*) () from
      /usr/lib64/libQt5Widgets.so.5
      3  0x00007ffff582e749 in QHeaderView::setModel(QAbstractItemModel*) ()
      from /usr/lib64/libQt5Widgets.so.5
      4  0x00007ffff5871493 in QTableView::setModel(QAbstractItemModel*) ()
      from /usr/lib64/libQt5Widgets.so.5
      5  0x00007ffff3d31e17 in
      KisPaletteView::setPaletteModel(KisPaletteModel*) () from
      /usr/lib64/libkritawidgets.so.18
      6  0x00007ffff3d2691e in
      KisDlgInternalColorSelector::KisDlgInternalColorSelector(QWidget*,
      KoColor, KisDlgInternalColorSelector::Config, QString const&,
      KoColorDisplayRendererInterface const*) () from
      /usr/lib64/libkritawidgets.so.18
      7  0x00007ffff7000d67 in
      KoDualColorButton::Private::init(KoDualColorButton*) () from
      /usr/lib64/libkritaui.so.18
      8  0x00007ffff7002c5b in KoDualColorButton::KoDualColorButton(KoColor
      const&, KoColor const&, KoColorDisplayRendererInterface const*,
      QWidget*, QWidget*) ()
        from /usr/lib64/libkritaui.so.18
      9  0x00007ffff6e2b5b5 in KisControlFrame::setup(QWidget*) () from
      /usr/lib64/libkritaui.so.18
      10 0x00007ffff71014ea in KisViewManager::KisViewManager(QWidget*,
      KActionCollection*) () from /usr/lib64/libkritaui.so.18
      11 0x00007ffff70cb72b in KisMainWindow::KisMainWindow(QUuid) () from
      /usr/lib64/libkritaui.so.18
      12 0x00007ffff70d8352 in KisPart::createMainWindow(QUuid) () from
      /usr/lib64/libkritaui.so.18
      13 0x00007ffff70d85de in KisPart::startBlankSession() () from
      /usr/lib64/libkritaui.so.18
      14 0x00007ffff70995b9 in KisApplication::start(KisApplicationArguments
      const&) () from /usr/lib64/libkritaui.so.18
      15 0x0000555555e4e229 in main ()
      
      The KisPaletteModel::index() call is inside an Q_ASSERT_X in
      QAbstractItemView::setModel(), so you have to compile Qt in debug mode
      to reproduce this crash.
      
      m_rowGroupNameMap is empty during the startup.
      97c03e0f
  8. 11 Nov, 2019 2 commits
  9. 16 Oct, 2019 1 commit
  10. 02 Oct, 2019 2 commits
    • Boudewijn Rempt's avatar
      remove unused includes · 8fa02ab0
      Boudewijn Rempt authored
      8fa02ab0
    • Boudewijn Rempt's avatar
      Work around a crash in Qt when converting a QDomDocument to a string · ca07d42c
      Boudewijn Rempt authored
      In Qt 5.14, if that is done in a thread which is not the gui thread,
      QRegularExpression won't have a QThreadStorage and will crash. It is
      weird, though, that Qt's exit handlers clear static variables in
      non-gui threads.
      
      I'm not sure what changed in Qt: the exit handler or QRegularExpression.
      
      Since we save the tags on every change, the saving on exit isn't strictly
      needed, so we can remove that to work around this issue in Qt.
      
      BUG:410867
      ca07d42c
  11. 30 Sep, 2019 1 commit
  12. 28 Sep, 2019 1 commit
  13. 27 Sep, 2019 2 commits
  14. 23 Sep, 2019 1 commit
    • Krzysztof Kurek's avatar
      Clean up compilation log from deprecations · f867486c
      Krzysztof Kurek authored
      Bunch of misc commits that remove warnings about
      deprecation in places where it doesn't affect code much.
      
      !150
      
      Squashed commit of the following:
      
      commit 10429761
      Author: Krzysztof Kurek <krzysio.kurek@wp.pl>
      Date:   Mon Sep 23 13:48:36 2019 +0000
      
          Remove a Qt5.13 function call
      
      commit 232ac699
      Author: Krzysztof Kurek <krzysio.kurek@pm.me>
      Date:   Sat Sep 21 17:14:36 2019 +0200
      
          Remove a CXX specific flag from other targets
      
      commit 6b71a3cc
      Author: Krzysztof Kurek <krzysio.kurek@pm.me>
      Date:   Sat Sep 21 17:12:34 2019 +0200
      
          Even more deprecation removal work
      
      commit 9c4972ad
      Author: Krzysztof Kurek <krzysio.kurek@pm.me>
      Date:   Sat Sep 21 14:10:44 2019 +0200
      
          Revert some const-ref changes
      
          Also explicitly mark KisOptionInfo's copy-ctor as being present
      
      commit f13ff926
      Author: Krzysztof Kurek <krzysio.kurek@pm.me>
      Date:   Fri Sep 20 01:15:47 2019 +0200
      
          A bunch more deprecation fixes
      
          Hopefully it all works... I don't have a second screen to test it thorough.
      
      commit 95c1ee12
      Author: Krzysztof Kurek <krzysio.kurek@pm.me>
      Date:   Thu Sep 19 20:32:47 2019 +0200
      
          Get rid of a few implicit deprecation warnings
      
          Deleted some superfluous constructor definitions,
          explicitly declared operator= of SvgGraphicsContext as default but only for private usage.
      
      commit 35d2f530
      Author: Krzysztof Kurek <krzysio.kurek@pm.me>
      Date:   Thu Sep 19 20:30:35 2019 +0200
      
          Simplify KisSwatch class
      
          Removes a warning about implicit deprecation
      f867486c
  15. 12 Sep, 2019 4 commits
  16. 10 Sep, 2019 1 commit
  17. 05 Sep, 2019 14 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.
      5c326ec1
    • 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.
      5d9725e3
    • 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.
      9dbde0d0
    • Mathias Wein's avatar
      Break up KisVisualColorSelectorShape::getImageMap() · 0cb1e86e
      Mathias Wein authored
      - move rendering of the selector shape background into own function
        called renderBackground()
      - move conversion from KoColor data array to QImage to helper function
        called convertImageMap()
      
      This way it can be better specialized for optimizations.
      0cb1e86e
    • Mathias Wein's avatar
      Move setMask() calls from paintEvent() to resizeEvent() · 3cf5530e
      Mathias Wein authored
      Mask doesn't change otherwise, and it might even be too late to
      apply it without some duplicate rendering.
      
      Also set border width before resize to not force double repaint for
      correct rendering, and don't mimic resize by forcing min/max values.
      3cf5530e
    • Mathias Wein's avatar
      Don't call this->show() in a constructor · 1132b6db
      Mathias Wein authored
      QWidget::show() triggers a resizeEvent() which is a virtual function
      call, which is a really bad idea...
      Instead, make the function that created (possibly) hidden widgets
      to show() them.
      Also, the update() on the children in a resize event was redundant.
      1132b6db
    • Mathias Wein's avatar
      Don't set a minimum height in color selector dialog UI file. · b66c7e32
      Mathias Wein authored
      This makes the embedded layout of KisSpinboxColorSelector try real
      hard to squeeze the spinboxes and labels in this too small height,
      let it instead figure out a minimum height itself from its children.
      b66c7e32
    • Mathias Wein's avatar
      Finally realized why KisVisualRectangleShape behaves weird when non-square · 5f08e170
      Mathias Wein authored
      Some sneaky mix-up of width() and height() in one place caused it.
      
      This should fix the offset issue reported in Bug 381529
      (the rendering part is still needs more work).
      5f08e170
    • Mathias Wein's avatar
      Flip y-coordinate in KisVisualRectangleShape · 8761be68
      Mathias Wein authored
      This is done to match the Advanced Color Selector.
      8761be68
    • Mathias Wein's avatar
      Big KisVisualColorSelector refactor, Part 2 (removing code) · 8d445606
      Mathias Wein authored
      Remove functions and attributes that were put in other classes or
      are no longer required.
      Also fix an oversight of possibly undefined "model" value.
      8d445606
    • Mathias Wein's avatar
      Big KisVisualColorSelector refactor, Part 1 (adding code) · a8958bc9
      Mathias Wein authored
      Basically, this makes KisVisualColorSelectorShape and subclasses as
      dumb as possible and let the selector itself decide how to handle stuff.
      The selector uses raw color model values as much as possible, this
      avoids a number of problems like jumpy handles and unnecessary re-rendering.
      
      - Move code for conversion between color and shape coordinates from
        shape to selector class, along with a number of required class attributes
      - Change mouse event handler to only care about the shape's handle position;
        Handles will now smoothly follow mouse, including movements outside the actual shape.
      - Only re-render the background image when the channels for it changed
      - Get rid of (failed) attempts to compress update signals;
        The selector really should be as smooth as possible IMO, signal compression
        is better done outside of the actual selector (as already done for the dialog)
      
      Note: HDR color ranges are currently not selectable, but it appears
      it was broken anyway, among some things in non-RGB color spaces that still
      need fixing as well.
      a8958bc9
    • Mathias Wein's avatar
      (coding style) make some function const · 5d550a12
      Mathias Wein authored
      5d550a12
    • Mathias Wein's avatar
      Fix widget->shape coordinate conversion of ellipse shape · 963edf29
      Mathias Wein authored
      The shape coordinate of KisVisualEllipticalSelectorShape did
      not stay in 0-1 range for 360° angle component, which breaks later
      color conversions that don't just wrap around.
      963edf29
    • Mathias Wein's avatar
      Don't allocate a QImage that should be overwritten anyway · 98cfd438
      Mathias Wein authored
      Instead, create a black image in case the conversion failed.
      This currently happens in L*a*b color space at certain channel depths.
      98cfd438