Fix Coverity issues February 2023
requested to merge tymond/krita:tiar/fix_coverity_issues_unchecked_dynamic_cast_feb2023_p1 into master
Fixed some Coverity issues, mostly dynamic_cast
result being checked for null (which was usually just an assert).
My basic guideline for types of asserts:
- when I can safely opt out of the code (for example it was just GUI etc.), I use
KIS_SAFE_ASSERT_RECOVER_RETURN
- when I have no idea what's going on or how safe it could be, but also it should never happen, I use
Q_ASSERT
- when there are other asserts around, I use the same type
- Frankly I was a bit lost there sometimes when to use
KIS_ASSERT
for example... especially KIS_ASSERT vs Q_ASSERT.
Test Plan
- run tests, make sure I haven't ruined anything
- check in Coverity if the fixed issues are actually fixed (sometimes Coverity merges several similar issues in one file into one "Coverity issue" but I forget to check and fix only one "occurance" of the issue in the file).
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.