cppcheck/gui
Oliver Stöneberg c4fc1bf1c9
fixed memory leak in `cppcheck-gui` (#4248)
* settingsdialog.cpp: fixed memory leak

Direct leak of 200 byte(s) in 1 object(s) allocated from:
    #0 0xa15a2d in operator new(unsigned long) (/mnt/s/GitHub/cppcheck-fw/cmake-build-debug-wsl-kali-clang-asan-ubsan/bin/cppcheck-gui+0xa15a2d)
    #1 0xe639af in SettingsDialog::SettingsDialog(ApplicationList*, TranslationHandler*, QWidget*) /mnt/s/GitHub/cppcheck-fw/gui/settingsdialog.cpp:75:21
    #2 0xc67807 in MainWindow::programSettings() /mnt/s/GitHub/cppcheck-fw/gui/mainwindow.cpp:1064:20
    #3 0xd1deb8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MainWindow::*)()>::call(void (MainWindow::*)(), MainWindow*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152:13
    #4 0xd1db5c in void QtPrivate::FunctionPointer<void (MainWindow::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::*)(), MainWindow*, void**) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185:13
    #5 0xd1d675 in QtPrivate::QSlotObject<void (MainWindow::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418:17
    #6 0x7f9687f26132  (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x2e6132)
    #7 0x7f96889ccdc1 in QAction::triggered(bool) (/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x15cdc1)

* resultstree.cpp: adjusted TODO about memory leaks
2022-07-09 22:32:48 +02:00
..
help Switch from http to https on our sourceforge webpage 2021-08-28 12:46:54 +02:00
images GUI: Simple first hack to allow bughunting in the GUI 2020-02-04 21:20:43 +01:00
test Library Data: Add support for optional smart pointer element 'unique' (#4132) 2022-07-04 22:23:20 +02:00
CMakeLists.txt make sure we remove obsolete entries from translations (#3995) 2022-04-11 11:25:08 +02:00
about.ui Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
aboutdialog.cpp Update copyright year 2022-05-21 12:18:27 +02:00
aboutdialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
application.cpp Update copyright year 2021-09-26 11:34:56 +02:00
application.h Update copyright year 2021-09-26 11:34:56 +02:00
applicationdialog.cpp use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
applicationdialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
applicationdialog.ui use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
applicationlist.cpp Update copyright year 2022-02-05 11:45:17 +01:00
applicationlist.h avoid some Clang compiler warnings (#3896) 2022-03-13 20:07:58 +01:00
checkstatistics.cpp Update copyright year 2022-02-05 11:45:17 +01:00
checkstatistics.h Update copyright year 2022-02-05 11:45:17 +01:00
checkthread.cpp enabled and fixed `modernize-use-emplace` clang-tidy warnings (#4165) 2022-06-03 15:09:29 +02:00
checkthread.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
codeeditor.cpp Codeeditor: multiline comment fix (#4253) 2022-07-08 12:37:05 +02:00
codeeditor.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
codeeditorstyle.cpp Update copyright year 2022-02-05 11:45:17 +01:00
codeeditorstyle.h Update copyright year 2022-02-05 11:45:17 +01:00
codeeditstylecontrols.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
codeeditstylecontrols.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
codeeditstyledialog.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
codeeditstyledialog.h added support for Qt6 (#3930) 2022-04-15 18:49:24 +02:00
common.cpp Update copyright year 2022-02-05 11:45:17 +01:00
common.h Update copyright year 2021-09-26 11:34:56 +02:00
cppcheck-gui.desktop Rename icon.png to cppcheck-gui.png 2016-09-27 16:28:36 +08:00
cppcheck-gui.png Rename icon.png to cppcheck-gui.png 2016-09-27 16:28:36 +08:00
cppcheck-gui.rc
cppcheck-gui.svg Resize page to content. 2016-09-27 17:06:26 +08:00
cppcheck.ico
cppcheck_de.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_es.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_fi.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_fr.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_it.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_ja.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_ko.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_nl.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_ru.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_sr.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_sv.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppcheck_zh_CN.ts GUI: lupdate gui.pro 2022-05-21 12:17:16 +02:00
cppchecklibrarydata.cpp Library Data: Add support for optional smart pointer element 'unique' (#4132) 2022-07-04 22:23:20 +02:00
cppchecklibrarydata.h Library Data: Add support for optional smart pointer element 'unique' (#4132) 2022-07-04 22:23:20 +02:00
csvreport.cpp Update copyright year 2022-02-05 11:45:17 +01:00
csvreport.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
erroritem.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
erroritem.h Update copyright year 2022-02-05 11:45:17 +01:00
filelist.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
filelist.h Update copyright year 2021-09-26 11:34:56 +02:00
fileview.ui use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
fileviewdialog.cpp use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
fileviewdialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
gui.cppcheck
gui.pro Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
gui.qrc GUI: Simple first hack to allow bughunting in the GUI 2020-02-04 21:20:43 +01:00
helpdialog.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
helpdialog.h Fix #11126 FN: noExplicitConstructor with single default parameter (#4174) 2022-06-07 21:15:13 +02:00
helpdialog.ui windows installer: another attempt to make help work. the 'contents' are shown now but for some reason the 'index' is not. 2020-08-28 19:05:11 +02:00
libraryaddfunctiondialog.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
libraryaddfunctiondialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
libraryaddfunctiondialog.ui GUI: Added a dedicated dialog for LibraryDialog for configuration of function arguments 2015-08-30 13:33:43 +02:00
librarydialog.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
librarydialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
librarydialog.ui Fixed #7173 (Library Editor: Save As button and error messages) 2015-11-29 11:21:04 +01:00
libraryeditargdialog.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
libraryeditargdialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
libraryeditargdialog.ui Fix 7439: GUI: Remove value "constant" from minsize attribute items list (#1020) 2018-01-05 11:10:21 +01:00
main.cpp added support for Qt6 (#3930) 2022-04-15 18:49:24 +02:00
mainwindow.cpp added (partial) support for specifying C++23 and support more "-std" options (#3212) 2022-04-15 16:17:36 +02:00
mainwindow.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
mainwindow.ui added (partial) support for specifying C++23 and support more "-std" options (#3212) 2022-04-15 16:17:36 +02:00
newsuppressiondialog.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
newsuppressiondialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
newsuppressiondialog.ui GUI: better handling of suppressions 2018-07-01 14:24:37 +02:00
platforms.cpp Update copyright year 2022-02-05 11:45:17 +01:00
platforms.h Update copyright year 2022-02-05 11:45:17 +01:00
precompiled_qmake.h Update copyright year 2022-02-05 11:45:17 +01:00
printablereport.cpp Update copyright year 2022-02-05 11:45:17 +01:00
printablereport.h Update copyright year 2022-05-21 12:18:27 +02:00
projectfile.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
projectfile.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
projectfile.txt
projectfile.ui Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
projectfiledialog.cpp GUI: allow that misra addon is executed without rule texts file 2022-04-14 09:09:58 +02:00
projectfiledialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
readme.txt make sure we remove obsolete entries from translations (#3995) 2022-04-11 11:25:08 +02:00
report.cpp Format with uncrustify (#3388) 2021-08-07 20:51:18 +02:00
report.h avoid some Clang compiler warnings (#3896) 2022-03-13 20:07:58 +01:00
resultstree.cpp fixed memory leak in `cppcheck-gui` (#4248) 2022-07-09 22:32:48 +02:00
resultstree.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
resultsview.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
resultsview.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
resultsview.ui Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
scratchpad.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
scratchpad.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
scratchpad.ui Scratchpad using CodeEditor class (#3246) 2021-05-04 19:17:03 +02:00
settings.ui gui: Set the correct names for coding standards in UI elements. NFC. (#3294) 2021-06-09 11:20:51 +02:00
settingsdialog.cpp fixed memory leak in `cppcheck-gui` (#4248) 2022-07-09 22:32:48 +02:00
settingsdialog.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
showtypes.cpp Update copyright year 2022-02-05 11:45:17 +01:00
showtypes.h Update copyright year 2022-02-05 11:45:17 +01:00
statsdialog.cpp added support for Qt6 (#3930) 2022-04-15 18:49:24 +02:00
statsdialog.h added support for Qt6 (#3930) 2022-04-15 18:49:24 +02:00
statsdialog.ui use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
threadhandler.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
threadhandler.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
threadresult.cpp cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
threadresult.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
translationhandler.cpp fail `run-clang-tidy` in case of compiler warnings / fixed Clang warnings / cleanups (#4036) 2022-05-15 12:42:29 +02:00
translationhandler.h avoid some Clang compiler warnings (#3896) 2022-03-13 20:07:58 +01:00
txtreport.cpp Update copyright year 2022-02-05 11:45:17 +01:00
txtreport.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00
xmlreport.cpp some preparations for Qt6 support (#3777) 2022-02-07 17:35:25 +01:00
xmlreport.h Update copyright year 2022-02-05 11:45:17 +01:00
xmlreportv2.cpp Update copyright year 2022-02-05 11:45:17 +01:00
xmlreportv2.h cleaned up includes based on include-what-you-use (#4007) 2022-04-13 12:24:00 +02:00

readme.txt

Cppcheck GUI
============
This is a GUI for cppcheck. It allows selecting folder or set of files to check
with cppcheck and shows list of found errors.

Running
-------
You need Qt5 libraries installed in your system. Packages/files to install
depends on your operating system:
- Windows: download Qt from http://www.qt.io/download/
- Linux: install Qt using your package manager, look for packages having Qt
  in their name, e.g. for Ubuntu install libqt5core5a, libqt5gui5, libqt5widgets5 
  and libqt5printsupport5.

Compiling
---------
Windows:
- The easy ways are:
-- download Qt SDK from http://www.qt.io/download/ and use
   QtCreator to build the GUI.
-- Download precompiled libraries for your platform and use your preferred
   IDE/environment to build GUI. Be careful to download the correct version of
   library for your compiler!
- The harder way is to download Qt sources and build Qt. Compiling Qt alone may
  take over 4 hours!

Linux:
- Install Qt development packages (make sure qmake -tool gets installed!). The
  names depend on distribution, but e.g. for Ubuntu the needed packages are:
  * qt5-default 

After you have needed libraries and tools installed, open command
prompt/console, go to gui directory and run command:
- qmake (in Linux and in Windows if build with MinGW/gcc or nmake)
- qmake -tp vc (to generate Visual Studio project file)
- qmake -tp vc LINKCORE=yes (to generate Visual Studio project file, linking
                             dynamically to core. Recommended.)

On Windows, you have to either call qtvars.bat in Qt folder or use the Qt command
line prompt shortcut added in the start menu by Qt installation.

These commands generate makefiles to actually build the software. After that
the actual building is done in IDE or command line as usual. Note that you
don't need to run qmake again unless you add/remove files from the project.

The Visual Studio solution does not contain a configuration for x64 platform, but
it can be added easily.

Tests
-----
There are tests for the GUI in gui/test -directory. There is test.pro
-projectfile for building all the tests. Each test is in own subdirectory and
builds own binary. Test is run by simple running that binary. The binary also
has several options to select tests etc. You can get the help by running
"binaryname -help" -command.

Translations
------------
The GUI is translated to several languages. Qt comes with two tools to update
and compile the translations. lupdate updates translations files from the code
and lrelease compiles translation files use with the executable.

To update translations:
- run "lupdate gui.pro -no-obsolete" to update the translation files to match the code. This
  command updates all the .ts files. Which can be then edited to translate
  the application.

To compile translations:
- run "lrelease gui.pro" to compile .ts files to .qm files which are used by the
  executable.