Commit Graph

5490 Commits

Author SHA1 Message Date
Scott Giese
ce019a169b REVIEW: Memory Leak - EffectBuilder::InitFromParameters()
156,910 (2,320 direct, 154,590 indirect) bytes in 29 blocks are definitely lost
2020-08-22 15:53:25 -05:00
Scott Giese
03a76a1805 REVIEW: Memory Leak - hash::resize()
196,628 bytes in 1 blocks are still reachable
2020-08-22 15:40:07 -05:00
Scott Giese
8f76c2b401 REVIEW: Memory Leak - SGPath::append()
212,955 bytes in 2,277 blocks are indirectly lost
2020-08-22 15:28:37 -05:00
Scott Giese
39b83cdb51 REVIEW: Memory Leak - ModelRegistry
262,144 bytes in 1 blocks are indirectly lost
2020-08-22 15:09:46 -05:00
Scott Giese
10ffa82ea6 REVIEW: Memory Leak - ChildInfo copy-ctor
447,264 bytes in 39 blocks are indirectly lost
2020-08-22 14:59:27 -05:00
Scott Giese
38e38bf3d3 CMake Fix: FindGDAL
FindPackageHandleStandardArgs.cmake  is not located within simgear/CMakeModules.
Use the normal CMake folder.
2020-08-22 14:45:13 -05:00
James Turner
e85a3207ac Add newer FindGDAL with imported target support 2020-08-19 09:22:52 +01:00
James Turner
2846c5e579 Ensure simgear_config.h is round when building HLA 2020-08-19 09:22:33 +01:00
James Turner
456c63935c Cmake refresh
Use target objects everywhere, and simplify handling of system vs
local dependencies.
2020-08-18 11:40:27 +01:00
Scott Giese
995a176654 REVIEW: unique HTTPRepository is encapsulated within HTTPDirectory object. 2020-08-17 20:02:45 -05:00
Scott Giese
a8c13cf041 REVIEW: Memory Leak - HTTPDirectory
885,598 (3,072 direct, 882,526 indirect) bytes in 48 blocks are definitely lost.
Candidate for shared_ptr or destruction within parent's dtor.
2020-08-17 19:35:06 -05:00
Scott Giese
d79ecddaf9 REVIEW: Memory Leak - NASAL GC
1,032,712 bytes in 6 blocks are still reachable.
naFree(p->free0) is required during shutdown.
2020-08-17 19:11:01 -05:00
Scott Giese
e5bbd62e96 Merge branch 'next' of https://git.code.sf.net/p/flightgear/simgear into next 2020-08-17 19:04:00 -05:00
Scott Giese
5fdcd72de9 REVIEW: Memory Leak - NASAL
2,048,000 bytes in 1 blocks are still reachable.
naFree(globals->deadBlocks) is required during shutdown.
2020-08-17 19:03:20 -05:00
James Turner
3b41b0c6d3 Particles: fix a deadlock condition 2020-08-17 15:04:16 +01:00
James Turner
84c15f6384 Enable ASan for clang 2020-08-17 10:20:26 +01:00
James Turner
209b60504d Particles: rewrite global manager for thread-safety
Avoid re-registering the global node callback each time a new particle
animation is loaded, and use mutexes to protected all shared data.
2020-08-16 19:49:26 +01:00
James Turner
08bbe08205 Missed include for Linux 2020-08-14 21:16:37 +01:00
James Turner
297e509576 Avoid a race in MatModels loading
Add a mutex to ensure an SGMatModels only loads its models once. Caught
be ASan, hurrah.
2020-08-14 16:48:51 +01:00
James Turner
b874201806 API to reset the shared tree geometry 2020-08-14 15:40:47 +01:00
James Turner
e659ad3872 Destructor tweaks from some animation nodes 2020-08-14 11:12:51 +01:00
legoboyvdlp R
7b4c50fd7e Add METAR test for drizzle. These should be moved to the test suite but we'll add coverage here meantime. 2020-08-14 09:59:16 +01:00
James Turner
b8182a4d29 Fix for sprintf of nil numeric in Nasal
Spotted by valgrind, w00t. If you used a numerical formatter, such
as f,d or g, with. a nil value, we would read uninitialised data, and
generally get confused.
2020-08-14 09:42:14 +01:00
James Turner
7234b57288 Set OSG Object names on SGSky stuff
This is to help with debugging when nodes/effects dangle.
2020-08-11 17:19:01 +01:00
James Turner
bf7b064bbe Ensure SGTerraSync::unbind drops all properties
Avoid some noise on reset, by dropping /all/ our SGPropertyNodes
2020-08-11 17:17:58 +01:00
Hans Kunkell
5f1ca6b556 new method: makeStringSafeForPropertyName, replaces invalid chars 2020-08-10 10:23:38 +01:00
legoboyvdlp R
888a0a8ed5 Drizzle is considered to be light rain. Backportable to 2020.2. Fixes ticket 1792 2020-08-10 10:19:56 +01:00
Scott Giese
a93629a127 Revert "Memory Leak: 95 MB"
This reverts commit cb54815cfc.
2020-08-09 09:39:04 -05:00
Scott Giese
cb54815cfc Memory Leak: 95 MB
99,418,032 bytes in 654,066 blocks are still reachable in loss record 15,500 of 15,501
2020-08-08 20:34:59 -05:00
Scott Giese
f76c640b69 Memory Leak: fix low-hanging fruit 2020-08-08 00:23:39 -05:00
James Turner
abb1cd02cd SGBuildingBin: avoid read of un-inited memory
Where the building line is not as long as expected, ensure we read
valid memory.
2020-08-07 17:48:21 +01:00
James Turner
57c7d58f79 HTTP: Use curl_multi_wait everywhere
Also check the result of the curl methods, in case they fail
2020-08-07 17:47:34 +01:00
Richard Harrison
998f92592a Directional lighting fix
getLights modified to use points rather than triangles based on the configuration.

This fixes point lights (with directional disabled) on AMD
2020-08-07 12:04:21 +02:00
Scott Giese
084e2502ab Memory Leak: 4.3 MB
4,518,880 bytes in 141,215 blocks are still reachable in loss record 15,491 of 15,501
2020-08-06 22:15:43 -05:00
Scott Giese
da384d6f49 Logic error fix 2020-08-06 18:50:31 -05:00
James Turner
7943353a2a Terraysnc: fix incorrect handling of ‘entirely ocean’ tiles
We had some confusion between two error codes, meaning we would log an
error (and treat as a failure) a pure ocean 1x1 area, even though this
was entirely correct and expected behaviour.

Terrasync.cxx expected REPO_ERROR_NOT_FOUND, we need to convert the
file-level error to that, and avoid logging a warning.
2020-08-05 15:20:55 +01:00
James Turner
f72e2ae644 TerraSync: restart after max-errors is exceeded.
When we trip the max-error count for a session, back off for a period
of time and then retry (selecting a new TerraSync server).
2020-08-05 15:18:30 +01:00
James Turner
ece7dab47c TerraSync: handle reinit better
Fix various cases where re-init could get things blocked. Remove the
duplicate storage of the active paths; now we always check the primary
data, and hence it can’t be out of sync.

Also remove the obsolete persistent cache code.

Fixes some of the issues discussed in:
https://sourceforge.net/p/flightgear/codetickets/2308/

Further improvements still to come, especially to retry on a better
schedule for intermittent connections.
2020-08-03 18:01:34 +01:00
Richard Harrison
3643f1c064 XMLSound bugfixes
- using expressions for pitch and volume didn't work
- multiple volume elements not computed properly

Discussion here: https://web.archive.org/web/20200730232940/http://fguk.me/forum/development-hangar/8360-supersonic-audio?start=40#46287

          <volume>
                <property>/a/v1</property>
                <factor>0.1</factor>
            </volume>
            <volume>
                <property>/a/v2</property>
                <offset>1</offset>
                <factor>-3</factor>
            </volume>
            <volume>
                <property>/a/v3</property>
                <offset>1</offset>
                <factor>-1</factor>
            </volume>

evaluates as follows:

update(): Have 3 volume entries
 --> 0:prop /a[0]/v1[0] => 0.110000 factor = 0.100000 v=0.011000 offset 0.000000, now 0.000000, v=0.011000 vol=0.011000 ==> 0.011000
 --> 1:prop /a[0]/v2[0] => 0.120000 factor = 3.000000 v=0.360000 -ve offset 1.000000 1.360000 = 0.014960  ==> 0.014960
 --> 2:prop /a[0]/v3[0] => 0.130000 factor = 1.000000 v=0.130000 -ve offset 1.000000 1.130000 = 0.016905  ==> 0.016905
2020-07-31 01:31:27 +02:00
Richard Harrison
59da504cde Exclude images with less than 16 bits per pixel from the DDS Texture Cache 2020-07-31 01:18:33 +02:00
James Turner
2622004af4 Logging: add log overload which copies filename
This is needed to fix a Valgrind error in the test-cases, due to logging
Nasal filenames which are GCed.
2020-07-17 11:54:50 +01:00
James Turner
ec36ca8e71 Nasal CppBind: restrict which exceptions are caught
The previous catch policy breaks unit-testing, since CppUnit relies
on a special Exception type.

This could be made conditional based on testing or not, but trying the
simple way initially.
2020-07-08 15:16:27 +01:00
James Turner
286e2967fd Fix compilation for some MSVC versions 2020-07-04 14:43:44 +01:00
Julian Smith
fcc5e055ef Renamed version -> simgear-version to avoid breaking clang++ on OpenBSD.
It seems that clang++ headers #include <version>, which found simgear/version
because we need to put singear/ in include path for some code to compile.
2020-07-04 09:04:04 +01:00
Scott Giese
a3ffc77a9d Bug fix: Check for a valid effect before dereference
Reported on the dev list as...
Crash with custom scenery
2020-07-03 13:23:23 -05:00
Scott Giese
6d8e9e5bbc VPB: Initial commit
Not for LTS
2020-06-28 11:30:33 -05:00
James Turner
3fccee6e38 HTTP: allow CAINFO to be set
Env var is SIMGEAR_TLS_CERT_PATH
2020-06-25 16:13:09 +01:00
James Turner
7fc82a26bf Helper to map string to log priority 2020-06-25 11:00:27 +01:00
James Turner
a128272816 Fix CMake include paths 2020-06-24 13:57:27 +01:00
James Turner
2b391ef671 Bundle Cmake FindCURL, for imported target support
This is the one from CMake 3.17, it should work fine with 3.10 but
let’s see.
2020-06-24 11:12:01 +01:00