Skip unnecessary updates of Fill Layers
This MR allows Fill Layers to skip updates if the filter configurations match.
This is done by a deep equality check on the incoming
KisFilterConfiguration
instance (plus null checks).
cc @tymond
Test Plan
Build Krita (in master or in 4.4.0, the patch is a straight apply) and test that:
- After adding the Fill Layer (clicking Ok on the dialog), there is not a second re-render
- After opening the Fill Layer Properties dialog, there is not a second re-render
- After cancelling the above dialog without editing, there is not a second re-render
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.