Commit Graph

3614 Commits

Author SHA1 Message Date
Mat Sutcliffe
2f1e3f47f9 Track worker construction and destruction
Added debug log messages in case a worker still exists when the `qApp` is destroyed.
This would mean that a `quitAndWait` is missing or is being skipped somewhere.
2020-06-12 18:42:41 +01:00
Mat Sutcliffe
e5528288b5 Lifetime management of value cache singletons
Hook in to the `destroyed` signal of the `qApp` to destroy the caches.
This ensures any associated workers are quit before application
terminates and kills all the threads.
2020-06-12 18:42:41 +01:00
Mat Sutcliffe
9dbe2f4018 Avoid thread-local storage in CLogCategoryList::fromClass
Use an ordinary function-local static variable instead.
This ensures we can still log messages after thread-local storage is cleaned up.
2020-06-12 18:42:41 +01:00
Mat Sutcliffe
e8380173c9 Store CDataCacheSerializer as a pointer for correct lifetime management 2020-06-12 18:42:41 +01:00
Klaus Basan
6eb767f938 Minor style, typo 2020-06-12 18:42:41 +01:00
Klaus Basan
e6a12d45c4 Ref T778, improved "canLikelySkipNearGround" in airspace monitor
* use CAircraftIcaoCode::guessModelParameters as this gives us an impression of speed
* use "breakable" do/while block / fewer nested "if" levels
2020-06-12 18:42:41 +01:00
Klaus Basan
5bc09ed2c8 [PQ] added static "parsedFromString" 2020-06-12 18:42:41 +01:00
Klaus Basan
1642502aae Distributor filter improvements
* if all or none simulator is selected do not filter
* also select if there is no (NULL) simulator
2020-06-12 18:42:41 +01:00
Roland Rossgotterer
f7cd840d42 Workaround GCC 8.1 internal compiler error 2020-06-12 18:42:40 +01:00
Mat Sutcliffe
1b2f470cd6 Reorder crashpad crash simulation in VERIFY/AUDIT
so it happens after the log message rather than before
2020-06-12 18:42:40 +01:00
Klaus Basan
6841297c6e Ref T776, matching flag "ForceModeFlag" 2020-06-12 18:42:39 +01:00
Klaus Basan
3d1dad989e [TCAS] Fixed "mixed" values for debug/TCAS xswiftbus.conf file
Also only update if simulator XPlane is not connected, otherwise values are updated there
This allows to update the values BEFORE XPlane starts and avoids a restart
2020-06-12 18:42:38 +01:00
Klaus Basan
2607ebd7c6 Ref T776, renamed some matching settings
* the forced values did not force anything
* also adjusted UI form
2020-06-12 18:42:38 +01:00
Klaus Basan
1da66ce6e9 [Worker] Stop timer in correct thread 2020-06-12 18:42:38 +01:00
Klaus Basan
7f6e3e5378 [Worker] In order to make background validation (worker) stoppable, using an "atomic bool stop flag"
Originally Ref T145, Ref T647
2020-06-12 18:42:36 +01:00
Klaus Basan
687d003bb9 Settings style 2020-06-12 18:42:36 +01:00
Klaus Basan
2999aebf37 Ref T773, allow to update CG per model string
* needed if CG is overridden by "dot command"
* update all existing aircraft (in range) if changing CG per modelstring
* made "overriddenCGorDefault" public so it can be checked if overridden
* use overridden value in CContextSimulator::xCtxAddedRemoteAircraftReadyForModelMatching
* allow to clear overridden values
2020-06-12 18:42:36 +01:00
Klaus Basan
93652ccd43 String utils, "const QChar &char" 2020-06-12 18:42:36 +01:00
Klaus Basan
ec92b6dc46 Ref T773, use closest positions for average height/elevation values
Testing with XPlane:

* even in EDDF the field elevations vary from 353-368ft, which means a difference of 15ft or 4m
* that means it is important to use the closest values
2020-06-12 18:42:36 +01:00
Klaus Basan
57153d45d7 Ref T773, style 2020-06-12 18:42:35 +01:00
Klaus Basan
b0d5b3c6d1 [Worker] Log. how long it takes to quitAndWait a worker
* sometimes the shutdown sequence of swift takes extremly long, this is to identify which workers are affected
* reduced "wait time"
* function so each worker can have its own "wait" time
* for a worker there are 2 "waits", the quitAndWait of the worker and the wait of CRegularThread (dtor)


Originally Ref T145, T647
2020-06-12 18:42:35 +01:00
Klaus Basan
049ded16cc Allow some long lasting validation functions to be stopped/interrupted from "outside" 2020-06-12 18:42:35 +01:00
Klaus Basan
f3bfaa3179 Minimal string concat improvements 2020-06-12 18:42:35 +01:00
Klaus Basan
acd5ee5a3c Ref T773, use correct transfer, avoid continously transferring because of wrong coordinates
* do not use own situation as reference for ground plane, but original coordinates of ground elv. position
* some functions renamed
2020-06-12 18:42:35 +01:00
Klaus Basan
81fa0b56c1 [AFV] Based on RRs idea init Qt audio device lists. The idea is to init them upfront in the main thread
Ref: https://discordapp.com/channels/539048679160676382/539925070550794240/676414836351172614
2020-06-12 18:42:34 +01:00
Klaus Basan
fe1e976093 Ref T773, style 2020-06-12 18:42:34 +01:00
Klaus Basan
3b73f6aa25 Ref T773, adjust skip values (speed/radius) 2020-06-12 18:42:34 +01:00
Klaus Basan
e21dab0605 Ref T773, if possible skip update of situations with elevation in interpolator 2020-06-12 18:42:34 +01:00
Klaus Basan
181c2b8061 Ref T773, improved info texts and statistics values 2020-06-12 18:42:34 +01:00
Klaus Basan
f2096bd826 Ref T773, style 2020-06-12 18:42:34 +01:00
Klaus Basan
e611f5109d Clearer message text 2020-06-12 18:42:34 +01:00
Klaus Basan
ab41c1e930 Ref T773, utility functions to clean cache and find max. elevation 2020-06-12 18:42:34 +01:00
Klaus Basan
466c761616 Ref T773, gcc/clang warnings
Remark: "assuming signed overflow does not occur when assuming that (X - c) > X is always false"
2020-06-12 18:42:33 +01:00
Klaus Basan
55b28e24a6 Ref T773, average elevation from cached (on ground) elevations 2020-06-12 18:42:33 +01:00
Klaus Basan
33b1e26460 Ref T773, cache ground elevations for "on ground" planes separately
Rational:

* Those values represent taxiways and runways
* we cache those longer and keep more

It is much more likely we need/can use these values
2020-06-12 18:42:33 +01:00
Klaus Basan
b128d40342 Ref T773, return flag if elevation was set for a ground position 2020-06-12 18:42:33 +01:00
Klaus Basan
25b30ccf34 Ref T773, style/typo 2020-06-12 18:42:33 +01:00
Klaus Basan
ee421fe33c Ref T773, also log. middle position (2nd) - useful for spline 2020-06-12 18:42:33 +01:00
Klaus Basan
5604cff6bf Ref T773, audit "null" elevation if tried to be stored 2020-06-12 18:42:33 +01:00
Klaus Basan
33b3cd5461 Ref T773, elevation handling style and minor improvements 2020-06-12 18:42:32 +01:00
Klaus Basan
287d96afea Ref T773, added "hasMeanSeaLevelValue" and consistently use it 2020-06-12 18:42:32 +01:00
Klaus Basan
0ccc7a9cba Ref T773, log.elev.info as well 2020-06-12 18:42:32 +01:00
Klaus Basan
af12325856 Ref T773, always set setup for interpolation logger 2020-06-12 18:42:32 +01:00
Klaus Basan
a629b70724 Ref T773, clear log when written, set object name for logger 2020-06-12 18:42:31 +01:00
Klaus Basan
5f1bd14fcf Ref T773, style 2020-06-12 18:42:31 +01:00
Klaus Basan
8f4c4a249c [5.14.1] UI adjustments
* OS native check of screen resolution (Qt free, experimental)
* changed rounding
* use string for scale factor so we can use fractions as 2/3
* utility functions to clean numbers, parse fractions

It looks like:

* my WIN10 scaling is 250%
* obviously swift rounds that to 3 (device ratio)
* now using FLOOR policy down-rounding to 2
* rational: scaling up (scale factor) is better as down-scaling as the factors would be clearer
* 2->3 1.5, but 3->2 means 0.66667
2020-06-12 18:42:30 +01:00
Klaus Basan
86c8568bf2 Fixes some CLANG warnings (QtC IDE checks, nevertheless does not harm to fix them) 2020-06-12 18:42:30 +01:00
Klaus Basan
0482b9883d [DB readers] misc fixes found during "datastore down" investigation
* added CEntityFlags::AircraftCategoryEntity in config lists
* flag to name
* missed initial reading of categories
* style
2020-06-12 18:42:30 +01:00
Klaus Basan
00ed15f111 Ref T775, special handling for "broadcast" messages
* identify broadcast messages
* do NOT play sound
* use "own" tab for text messages (group together)
2020-06-12 18:42:29 +01:00
Klaus Basan
812619470b Ref T773, style and comments 2020-06-12 18:42:28 +01:00