Skip to content

Crashfix: Cancel the stroke before disconnecting

Sharaf Zaman requested to merge szaman/krita:crash-selection-masks into master

Calling disconnect requests for strokes to end, which can cause an update in KisNodesModel and then we unset the canvas causing the indexConverter to reset, hence a crash.

Note: This is a race and only crashes if the updatesQueue isn't cleared before the canvas is unset.

Test Plan

  1. Use Bezier Curve Selection Tool and create a selection without confirming (there should be at least two points)
  2. Close the canvas (without confirming the selection)
  3. Crash after a SAFE_ASSERT

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