krazy2 Analysis

# Krazy2 Analysis of graphics/digikam (Revision = master-rev-f4a23372bd)

Checksets = kde5,foss
Checkers Run = 65
Files Processed = 4560
Total Issues = 166 ...as of May 23 2026 16:31:37 CEST

- For File Type messages
  1. Check for appending to rc.cpp [rcappend]...okay!
- For File Type cmake
  1. Check for an acceptable copyright according to REUSE guidelines [copyright-reuse]...OOPS! 3 issues found!
     - /mnt/data/Devel/9.x/core/cmake/modules/FindMSan.cmake: missing tags
     - /mnt/data/Devel/9.x/core/cmake/modules/FindTSan.cmake: missing tags
     - /mnt/data/Devel/9.x/core/cmake/modules/FindASan.cmake: missing tags

     All source files must contain a reuse copyright line

  2. Check for FOSS license according to REUSE guidelines [license-reuse]...OOPS! 4 issues found!
     - /mnt/data/Devel/9.x/core/cmake/modules/FindMSan.cmake: REUSE FOSS license line not found
     - /mnt/data/Devel/9.x/core/cmake/modules/FindTSan.cmake: REUSE FOSS license line not found
     - /mnt/data/Devel/9.x/core/cmake/modules/FindUBSan.cmake: REUSE FOSS license line not found
     - /mnt/data/Devel/9.x/core/cmake/modules/FindASan.cmake: REUSE FOSS license line not found

     Source files must contain a REUSE license line of the form "SPDX-License-Identifer: GPL-2.0-only"

  3. Check that file ends with a newline [endswithnewline]...okay!
  4. Check for problems with filenames [filenames]...okay!
  5. Check for URLs not using transport encryption [insecurenet]...okay!
  6. Check for spelling errors [spelling]...okay!
- For File Type c++
  1. Check for contractions in strings [contractions]...OOPS! 1 issues found!
     - /mnt/data/Devel/9.x/core/libs/metadataengine/exiftool/exiftoolparser_output.cpp: => d->error = stdOut.contains(QByteArray("1 files weren't updated due to errors")); line# 27 (1)

     The KDE Style Guide recommends not using contractions in strings. For example: "don't" should be changed to "do not". Contractions used in comments are ok.

  2. Check for an acceptable copyright according to REUSE guidelines [copyright-reuse]...okay!
  3. Check for '#define' usage [defines]...okay!
  4. Check for FOSS license according to REUSE guidelines [license-reuse]...okay!
  5. Check for using NULL in C++ code. [null]...OOPS! 10 issues found!
     - /mnt/data/Devel/9.x/core/libs/dimg/filters/icc/iccsettings_p_windows.cpp: => HDC hdcScreen = CreateDC(NULL, monitorInfo.szDevice, NULL, NULL);
     - /mnt/data/Devel/9.x/core/libs/dimg/filters/icc/iccsettings_p_windows.cpp: => if (hdcScreen == NULL)
     - /mnt/data/Devel/9.x/core/libs/dimg/filters/icc/iccsettings_p_windows.cpp: => ReleaseDC(NULL, hdcScreen);
     - /mnt/data/Devel/9.x/core/libs/dimg/filters/icc/iccsettings_p_windows.cpp: => ReleaseDC(NULL, hdcScreen);
     - /mnt/data/Devel/9.x/core/libs/dimg/filters/icc/iccsettings_p_windows.cpp: => ReleaseDC(NULL, hdcScreen);
     - /mnt/data/Devel/9.x/core/libs/dimg/filters/icc/iccsettings_p_windows.cpp: line# 57,59,84,98,116 (5)

     In C++, a null pointer is 0; not 0l, 0L or NULL. If this is C++11 code you might consider using nullptr instead of 0.

  6. Check for Qt macros that should be used [qmacros]...okay!
  7. Check for methods that return 'const' refs in public classes [constref]...okay!
  8. Check for an acceptable copyright [copyright]...okay!
  9. Check for cpp macros and usage [cpp]...okay!
  10. Check for code that should be considered crashy. [crashy]...okay!
  11. Check single-char QString operations for efficiency [doublequote_chars]...okay!
  12. Check for unwanted doxygen tags in major versions [doxytags]...okay!
  13. Check public classes with private members or d-pointer issues [dpointer]...okay!
  14. Check for QString compares to "" [emptystrcompare]...okay!
  15. Check that file ends with a newline [endswithnewline]...okay!
  16. Check for C++ ctors that should be declared 'explicit' [explicit]...okay!
  17. Check for problems with filenames [filenames]...okay!
  18. Check validity of i18n calls [i18ncheckarg]...OOPS! 131 issues found!
      - /mnt/data/Devel/9.x/core/showfoto/setup/showfotosetup.cpp: unclosed <br>, close in place line# 108,114,120,126,132,138,153,159 (8)
      - /mnt/data/Devel/9.x/core/utilities/searchwindow/searchgroup_label.cpp: unclosed <br>, close in place line# 101 (1)
      - /mnt/data/Devel/9.x/core/utilities/searchwindow/searchfields_recentmodified.cpp: reported ambiguous message by translators; use context call to explain what it refers to line# 50 (1)
      - /mnt/data/Devel/9.x/core/utilities/setup/camera/cameraselection.cpp: unclosed <br>, close in place line# 211,218,224,231 (4)
      - /mnt/data/Devel/9.x/core/utilities/setup/metadata/namespaceeditdlg.cpp: unclosed <br>, close in place line# 230,241,252 (3)
      - /mnt/data/Devel/9.x/core/utilities/setup/metadata/advancedmetadatatab.cpp: unclosed <br>, close in place line# 395 (1)
      - /mnt/data/Devel/9.x/core/utilities/setup/collections/setupcollections.cpp: unclosed <br>, close in place line# 247 (1)
      - /mnt/data/Devel/9.x/core/utilities/setup/misc/setupmisc_behavior.cpp: unclosed <br>, close in place line# 99 (1)
      - /mnt/data/Devel/9.x/core/utilities/setup/misc/setupmisc_grouping.cpp: unclosed <br>, close in place line# 30 (1)
      - /mnt/data/Devel/9.x/core/utilities/setup/album/setupmime.cpp: unclosed <br>, close in place line# 39,49,59 (3)
      - /mnt/data/Devel/9.x/core/utilities/maintenance/main/maintenancedlg.cpp: unclosed <br>, close in place line# 78,91 (2)
      - /mnt/data/Devel/9.x/core/utilities/imageeditor/dialogs/colorcorrectiondlg.cpp: unclosed <br>, close in place line# 204,210,217 (3)
      - /mnt/data/Devel/9.x/core/utilities/firstrun/welcomepage.cpp: unclosed <br>, close in place line# 66 (1)
      - /mnt/data/Devel/9.x/core/utilities/firstrun/collectionpage.cpp: unclosed <br>, close in place line# 77,190 (2)
      - /mnt/data/Devel/9.x/core/utilities/fuzzysearch/fuzzysearchview_similar.cpp: unclosed <br>, close in place line# 30 (1)
      - /mnt/data/Devel/9.x/core/utilities/advancedrename/parser/modifiers/defaultvaluemodifier.cpp: unclosed <br>, close in place line# 48 (1)
      - /mnt/data/Devel/9.x/core/utilities/import/backend/gpcamera.cpp: unclosed <br>, close in place line# 1615,1622 (2)
      - /mnt/data/Devel/9.x/core/utilities/import/backend/umscamera.cpp: unclosed <br>, close in place line# 582,588,596,622 (4)
      - /mnt/data/Devel/9.x/core/libs/tags/autoassignment/autotagsscanwidget.cpp: unclosed <br>, close in place line# 152,159 (2)
      - /mnt/data/Devel/9.x/core/libs/tags/widgets/tageditdlg.cpp: unclosed <br>, close in place line# 140,341,347 (3)
      - /mnt/data/Devel/9.x/core/libs/tags/manager/tagsmanager_io.cpp: unclosed <br>, close in place line# 26 (1)
      - /mnt/data/Devel/9.x/core/libs/properties/itempropertiestab.cpp: single adjective as message, probably ambiguous; use context call to explain what it refers to line# 504,512 (2)
      - /mnt/data/Devel/9.x/core/libs/properties/itempropertiestab.cpp: reported ambiguous message by translators; use context call to explain what it refers to line# 523,524,530 (3)
      - /mnt/data/Devel/9.x/core/libs/dialogs/rawcameradlg.cpp: unclosed <br>, close in place line# 125,125,135,135 (4)
      - /mnt/data/Devel/9.x/core/libs/dialogs/infodlg.cpp: unclosed <br>, close in place line# 92 (1)
      - /mnt/data/Devel/9.x/core/libs/filters/filterstatusbar.cpp: unclosed <br>, close in place line# 121,126,131,136,141,146,151 (7)
      - /mnt/data/Devel/9.x/core/libs/onlineversion/onlineversiondlg.cpp: unclosed <br>, close in place line# 274,287 (2)
      - /mnt/data/Devel/9.x/core/libs/imgqsort/imagequalitywidget.cpp: unclosed <br>, close in place line# 96,111,126,144,151,164 (6)
      - /mnt/data/Devel/9.x/core/libs/facesengine/widgets/facescanwidget.cpp: unclosed <br>, close in place line# 112,137,186,199 (4)
      - /mnt/data/Devel/9.x/core/libs/widgets/mainview/daboutdata.cpp: unclosed <br>, close in place line# 41 (1)
      - /mnt/data/Devel/9.x/core/libs/timeadjust/clockphotodialog.cpp: unclosed <br>, close in place line# 168 (1)
      - /mnt/data/Devel/9.x/core/libs/album/manager/albummanager_database.cpp: unclosed <br>, close in place line# 144,157,310,329 (4)
      - /mnt/data/Devel/9.x/core/libs/template/templatepanel.cpp: unclosed <br>, close in place line# 132 (1)
      - /mnt/data/Devel/9.x/core/libs/database/utils/widgets/dbsettingswidget_properties.cpp: unclosed <br>, close in place line# 294,303,344,370 (4)
      - /mnt/data/Devel/9.x/core/libs/database/utils/widgets/dbsettingswidget.cpp: unclosed <br>, close in place line# 116,328,341 (3)
      - /mnt/data/Devel/9.x/core/libs/database/utils/widgets/dbsettingswidget.cpp: invalid interface subcue line# 107 (1)
      - /mnt/data/Devel/9.x/core/libs/database/engine/dbengineguierrorhandler.cpp: unclosed <br>, close in place line# 238 (1)
      - /mnt/data/Devel/9.x/core/dplugins/editor/transform/freerotation/freerotationtool.cpp: unclosed <br>, close in place line# 175 (1)
      - /mnt/data/Devel/9.x/core/dplugins/editor/enhance/backgroundblur/backgroundblurtoolplugin.cpp: unclosed <br>, close in place line# 116 (1)
      - /mnt/data/Devel/9.x/core/dplugins/editor/enhance/restoration/restorationtool.cpp: unclosed <br>, close in place line# 130 (1)
      - /mnt/data/Devel/9.x/core/dplugins/editor/enhance/healingclone/healingclonetool.cpp: unclosed <br>, close in place line# 191 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/pgf/dimgpgfexportsettings.cpp: unclosed <br>, close in place line# 75 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/qimage/dimgavifexportsettings.cpp: unclosed <br>, close in place line# 73 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/qimage/dimgjxlexportsettings.cpp: unclosed <br>, close in place line# 73 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/qimage/dimgwebpexportsettings.cpp: unclosed <br>, close in place line# 74 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/jpeg2000/dimgjpeg2000exportsettings.cpp: unclosed <br>, close in place line# 73 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/png/dimgpngexportsettings.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/jpeg/dimgjpegexportsettings.cpp: unclosed <br>, close in place line# 70 (1)
      - /mnt/data/Devel/9.x/core/dplugins/dimg/heif/dimgheifexportsettings.cpp: unclosed <br>, close in place line# 73 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/metadata/geolocationedit/geolocationeditplugin.cpp: unclosed <br>, close in place line# 65 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/metadata/metadataedit/metadataeditplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/metadata/timeadjust/timeadjustplugin.cpp: unclosed <br>, close in place line# 65 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/calendar/wizard/calwizard.cpp: unclosed <br>, close in place line# 202,217,224 (3)
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/dngconverter/dngconverterplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/htmlgallery/wizard/htmlthemepage.cpp: unclosed <br>, close in place line# 148 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/mediaserver/dmediaserverdlg.cpp: unclosed <br>, close in place line# 150 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/ocrtextconverter/textconverterplugin.cpp: unclosed <br>, close in place line# 65 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/sendbymail/wizard/mailsettingspage.cpp: unclosed <br>, close in place line# 175 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/view/presentation/presentationplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/mediawiki/mediawikiplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/filetransfer/ftplugin.cpp: unclosed <br>, close in place line# 66 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/filetransfer/ftexportwidget.cpp: unclosed <br>, close in place line# 76 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/filetransfer/ftimportwidget.cpp: unclosed <br>, close in place line# 73 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/smugmug/smugplugin.cpp: unclosed <br>, close in place line# 65 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/google/gsplugin.cpp: unclosed <br>, close in place line# 66 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/box/boxplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/flickr/flickrplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/pinterest/pplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/imgur/imgurplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/filecopy/fcexportwidget.cpp: unclosed <br>, close in place line# 161 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/twitter/twitterplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/onedrive/odplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/dropbox/dbplugin.cpp: unclosed <br>, close in place line# 64 (1)
      - /mnt/data/Devel/9.x/core/dplugins/generic/webservices/inaturalist/inatplugin.cpp: unclosed <br>, close in place line# 65 (1)
      - /mnt/data/Devel/9.x/core/dplugins/bqm/enhance/restoration/restoration.cpp: unclosed <br>, close in place line# 61 (1)

      Make the translators' job easier and detect problems in the usage of the i18n() calls. When the fix is not clear, check the Techbase articles at http://techbase.kde.org/Development/Tutorials/Localization/i18n_Krazy and https://techbase.kde.org/Development/Tutorials/Localization/i18n_Semantics>.

  19. Check for proper include directives [includes]...OOPS! 2 issues found!
      - /mnt/data/Devel/9.x/core/utilities/setup/album/setupalbumview_p.h: missing or improper include guard in header
      - /mnt/data/Devel/9.x/core/app/views/stack/welcomepageview_p.h: missing or improper include guard in header

      Use <..> to include installed headers; cpp file should include their own headers first (but below config.h); other rules apply, see http://community.kde.org/Policies/Library_Code_Policy#Getting_.23includes_right. Use include guards in headers with appropriately encoded macro names.

  20. Check for inline methods in public classes [inline]...okay!
  21. Check for URLs not using transport encryption [insecurenet]...okay!
  22. Check for normalized SIGNAL and SLOT signatures [normalize]...okay!
  23. Check for assignments to QString::null or QString() [nullstrassign]...okay!
  24. Check for compares to QString::null or QString() [nullstrcompare]...okay!
  25. Check for C++ operators that should be 'const' [operators]...okay!
  26. Check for postfix usage of ++ and -- [postfixop]...okay!
  27. Check for dangerous or inefficient QByteArray usage [qbytearray]...okay!
  28. Check for Qt methods that should be avoided [qmethods]...okay!
  29. Check for classes that should use the 'Q_OBJECT' macro [qobject]...okay!
  30. Check for signals: and slots: [sigsandslots]...okay!
  31. Check for spelling errors [spelling]...okay!
  32. Check for improperly initialized global static objects [staticobjects]...okay!
  33. Check for strings used improperly or should be i18n. [strings]...okay!
  34. Check for system calls to replace by KDE or Qt equivalents [syscalls]...okay!
  35. Check for typedefs that should be replaced by Qt typedefs [typedefs]...OOPS! 2 issues found!
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/calendar/print/calsystem.cpp: => int64_t adjustedYear = static_cast<int64_t>(year) + yearOffset();
      - /mnt/data/Devel/9.x/core/dplugins/generic/tools/calendar/print/calsystem.cpp: line# 571[int64_t[qint64]] (1)

      Please use Qt typedefs (like qint32 and qreal) as defined in QGlobals. These typedefs are guaranteed to have the size in bits that the name states on all platforms.

- For File Type kpartgui
  1. Check for contractions in strings [contractions]...okay!
  2. Check that file ends with a newline [endswithnewline]...okay!
  3. Check for problems with filenames [filenames]...okay!
  4. Check validity of i18n calls [i18ncheckarg]...okay!
  5. Check for URLs not using transport encryption [insecurenet]...okay!
  6. Check for spelling errors [spelling]...okay!
  7. Validates kpartgui files using 'xmllint' [validate]...OOPS! 7 issues found!
     - /mnt/data/Devel/9.x/core/showfoto/main/showfotoui5.rc: --nowarning
     - /mnt/data/Devel/9.x/core/utilities/survey/surveywindowui5.rc: --nowarning
     - /mnt/data/Devel/9.x/core/utilities/queuemanager/main/queuemgrwindowui5.rc: --nowarning
     - /mnt/data/Devel/9.x/core/utilities/imageeditor/main/imageeditorui5.rc: --nowarning
     - /mnt/data/Devel/9.x/core/utilities/lighttable/lighttablewindowui5.rc: --nowarning
     - /mnt/data/Devel/9.x/core/utilities/import/main/importui5.rc: --nowarning
     - /mnt/data/Devel/9.x/core/app/main/digikamui5.rc: --nowarning

     Please make sure your .rc files conform to the XSD schema found in kdelibs/kdeui/xmlgui/kxmlgui.xsd

- For File Type desktop
  1. Check for contractions in strings [contractions]...okay!
  2. Check that file ends with a newline [endswithnewline]...okay!
  3. Check for problems with filenames [filenames]...okay!
  4. Check for invalid icon names [iconnames]...okay!
  5. Check for URLs not using transport encryption [insecurenet]...OOPS! 6 issues found!
     - /mnt/data/Devel/9.x/core/dplugins/generic/tools/htmlgallery/themes/dateframes/dateframes.desktop: => 387
     - /mnt/data/Devel/9.x/core/dplugins/generic/tools/htmlgallery/themes/dateframes/dateframes.desktop:
     - /mnt/data/Devel/9.x/core/dplugins/generic/tools/htmlgallery/themes/dateframes/dateframes.desktop: => 463
     - /mnt/data/Devel/9.x/core/dplugins/generic/tools/htmlgallery/themes/dateframes/dateframes.desktop:
     - /mnt/data/Devel/9.x/core/dplugins/generic/tools/htmlgallery/themes/dateframes/dateframes.desktop: line# 387,463 (2)

     Prefer URLs using transport encryption. See https://www.volkerkrause.eu/2018/12/08/kde-privacy-finding-insecure-network-connections.html for more information.

  6. Check for spelling errors [spelling]...okay!
  7. Validates desktop files using 'desktop-file-validate' [validate]...okay!
- For File Type svg
  1. Check for problems with filenames [filenames]...okay!
  2. Validate uncompressed SVG files using 'xmllint' [validate]...okay!
- For File Type designer
  1. Check for contractions in strings [contractions]...okay!
  2. Check that file ends with a newline [endswithnewline]...okay!
  3. Check for problems with filenames [filenames]...okay!
  4. Check for files that need to be fixed by 'fixuifiles' [fixuifiles]...okay!
  5. Check validity of i18n calls [i18ncheckarg]...okay!
  6. Check for URLs not using transport encryption [insecurenet]...okay!
  7. Check for spelling errors [spelling]...okay!