mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
Systematically resolved 30 identified potential crash vectors and established automated regression testing to prevent strict reoccurrence. Key Changes: - Fixed 11 instances of unsafe `QObject::connect` calls (missing context object) in srd/Charts/AgendaWindow.cpp, FixSpikes.cpp, src/FileIO/FixSpikes.cpp, src/Gui/Agenda.cpp, src/Gui/BatchProcessingDialog.cpp, and src/Gui/IconManager.cpp. This prevents crashes caused by signals firing after the receiver has been destroyed. - Fixed 19 instances of unsafe `QTreeWidgetItem` child access in src/Charts/LTMChartParser.cpp, src/Gui/ColorButton.cpp, src/Gui/AthletePages.cpp, and src/Gui/Pages.cpp by adding defensive `nullptr` checks before dereferencing. - Added Python detection scripts util/check_unsafe_connects.py and util/check_unsafe_tree_child.py to statically analyze the codebase for these specific unsafe patterns. - Integrated detection scripts into the regression test suite under `unittests/Core/signalSafety`, verifying the fixes and enforcing a strict zero-tolerance policy for future regressions. - Added `testSplineCrash` to cover edge cases with empty spline lookups.
86 lines
1.1 KiB
Plaintext
86 lines
1.1 KiB
Plaintext
Makefile
|
|
.qmake.stash
|
|
*.o
|
|
*.so.*
|
|
*.so
|
|
*.a
|
|
*~
|
|
*.orig
|
|
*.rej
|
|
# old skool
|
|
.svn
|
|
*.pri
|
|
*.prl
|
|
*.swp
|
|
*.user
|
|
*.AppImage
|
|
*.tab.c
|
|
*.tab.h
|
|
|
|
# osx noise
|
|
.DS_Store
|
|
profile
|
|
|
|
# qmake Xcode generator side-effects
|
|
*.xcodeproj
|
|
xcshareddata/
|
|
*.xcworkspace
|
|
*.pbxproj
|
|
*.mak
|
|
*.build/
|
|
|
|
moc_*
|
|
moc/
|
|
.moc
|
|
obj/
|
|
lib/
|
|
bin/
|
|
plugins/
|
|
resources/
|
|
src/debug/
|
|
src/release/
|
|
doc/doxygen/latex
|
|
doc/doxygen/html
|
|
|
|
# qt creator builds
|
|
build-src*
|
|
|
|
qwt/src/debug/
|
|
qwt/src/release/
|
|
src/Makefile.Debug
|
|
src/Makefile.Release
|
|
src/object_script.GoldenCheetah.Debug
|
|
src/object_script.GoldenCheetah.Release
|
|
qwt/src/object_script.libqwt.Release
|
|
qwt/src/object_script.libqwtd.Debug
|
|
qwt/src/Makefile.Release
|
|
qwt/src/Makefile.Debug
|
|
qwt/textengines/mathml/debug/
|
|
qwt/textengines/mathml/release/
|
|
build.pro.user
|
|
build.pro.user.*
|
|
doc/contrib/WASP Packet Protocol.pdf
|
|
|
|
# unittests
|
|
unittests/Core/season/season
|
|
unittests/Core/seasonOffset/seasonOffset
|
|
unittests/Core/seasonParser/seasonParser
|
|
unittests/Core/units/units
|
|
unittests/Gui/calendarData/calendarData
|
|
|
|
# Qt testlib
|
|
target_wrapper.sh
|
|
|
|
# Precompiled Headers
|
|
*.gch
|
|
*.pch
|
|
*.gch/
|
|
_pch/
|
|
|
|
# Generated Source Files
|
|
*_lex.cpp
|
|
*_yacc.cpp
|
|
*_yacc.h
|
|
qrc_*.cpp
|
|
|