Skip to content

Color selector fixes

Mathias Wein requested to merge mwein/krita:color-selector-fixes into master

This fixes a small but steady memory leak I found a while ago, aswell as a regression of my selector rework that I found just now. Basically, when changing the Hue in a bar or ring selector while Saturation or Value/Lightness/Intensity/Luma is zero (or 1 except Value), the selected color won't change, but the background of the other selector shape (rectangle/triangle) still needs to be redrawn to show the new Hue. So I changed it to only omit the color change signal but not the UI update.

I also stumbled across a duplicate QObject deleteLater() call, while Qt does allow this, there's no point in doing it.

If I'm not mistaken, these changes should also apply to krita/4.2 branch.

Test Plan

Basically make sure the selector now updates correctly in the various configurations that have a separate Hue control which produces above edge case.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.

Merge request reports