Commit Graph

18 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
25c3ba7338 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
tetektoza
d5f9059199 Gui: Fix stack-use-after-return in DlgSettingsLightSources lambdas
Randomly discovered during some other bug hunt, only with
AddressSanitizer on. Basically, ASAN detected stack-use-after-return
when playing with spinboxes in the Light Sources preferences when Qt
signal handlers tried to invoke lambda callbacks that referenced
deallocated stack memory.

The main problem is that those lambda functions in the constructor
were captruing by reference. When they were connected to Qt signals
and invoked after constructor completed, they accessed stack vars that
have gone out of scope.

So fixed that by changing lambda captures from `[&]` to explicit captures:
- [this] for lambdas needing only class member access
- [this, updateLight] for lambdas that need both class members and the
`updateLight` lambda.
2025-10-19 22:23:36 +02:00
Markus Reitböck
6ef07bb358 Gui: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:03 +02:00
Syres916
6eecd08f7c [Gui] C++ preparation for deprecation of QCheckBox…
…stateChanged -> checkStateChanged
2025-06-13 10:40:48 +02:00
Benjamin Nauck
71cac77a59 Gui: Remove unused static function 2025-03-04 21:06:17 +01:00
Kacper Donat
46b9ff9c50 Gui: Properly reset light directions
This fixes lights not getting reset after user demands so.
2025-02-28 14:25:57 +00:00
Kacper Donat
2f35f1c561 Base: Add fromPercent and toPercent helpers 2025-02-23 22:51:13 +01:00
Kacper Donat
7f984811e8 Gui: Add 3 point lighting 2025-02-23 22:51:13 +01:00
Benjamin Bræstrup Sayoc
f647d4a1eb Gui: Use QStringLiteral 2025-02-10 18:34:57 +01:00
xtemp09
0995e1d5ec [GUI] Enable sort of zoom in Light Sources dialog 2024-09-09 18:27:51 +02:00
xtemp09
ebf02483af Reimplementation of Light source dialog (#15877)
* Reimplementation of Light source dialog

Closes #15793.

* Gui: Remove redundant void arguments

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-08-22 18:58:14 -05:00
Chris Hennes
362cf1c80e Gui: Fix crash in DlgSettingsLightSources
Fixes #13357
2024-08-08 21:34:28 -04:00
wmayer
9bb996e2f3 Gui: Fixes #11341: Adjusting Light Sources in Preferences 2023-11-12 13:41:13 +01:00
wmayer
aaa962944b Gui: With Qt6 QColor's redF(), greenF(), blueF() methods return a float 2023-10-24 13:30:40 +02:00
wmayer
a8c65ec621 Gui: rename methods setBacklight() & isBacklight() to harmonize with setHeadlightEnabled() & isHeadlightEnabled() 2023-10-24 13:30:40 +02:00
wmayer
c017386d91 Gui: suppress & fix some lint warnings in DlgSettingsLightSources 2023-10-23 19:34:54 +02:00
wmayer
7350855ca0 Gui: fix possible crash when opening DlgSettingsLightSources 2023-10-23 19:34:54 +02:00
wmayer
f566b449a6 Gui: fixes issue #11113: Adjust Default Main Light Position 2023-10-23 11:05:21 -05:00