1
0
Fork 0
Commit graph

11430 commits

Author SHA1 Message Date
Bertrand Coconnier
388d66b6a6 Sync'ed JSBSim
Includes the following new features and bug fixes:
- The <random> function now uses C++ std::default_random_engine
- WGS84 is now used everywhere in JSBSim (previously a mix of spherical/WGS84 earcth was used resulting in inaccuracies).
- A new <planet> XML element can be used to tweak the planet characteristics (such as semimajor/smemiminor axes, gravity, etc.)
- The FGGroundCallback instance is now managed by FGInertial with a dynamic pointer std::unique_ptr<>. JSBSim was previously using a static pointer which was causing memory access failures when several instances of JSBSim were used or when an instance was replaced by a new one (the structure pointed to by the static pointer was then lost when the old instance was destroyed).
- Removed calls to exit() and replaced them by exceptions that can be caught by FlightGear (should avoid FlightGear from being ungracefully stopped by an error found by JSBSim).
- Sockets interface: replaced the usage of obsolete functions gethostbyname()/gethostbyaddr() by getaddrinfo().
- FGColumnVector3 and FGMatrix33 can now be initialized by C++ std::initializer_list
- Disable the delays implemented in some flight control components during trimming (was sometimes preventing the trim algorithm from converging to a solution).
- Fixed the magnetometer initialization (was not updated during the first 1000 time steps)
- More conversions to C++11 features (nullptr, override, std::unique_ptr<>, etc.).
2020-10-30 13:52:56 +01:00
James Turner
f4298d676f Fix for RMB/MMB interaction with picking
When RMB drag-to-look is active, ignore all other mouse downs, which
might otherwise trigger picks to start.

Ticket-Id: https://sourceforge.net/p/flightgear/codetickets/2108/
2020-10-29 23:20:48 +00:00
Automatic Release Builder
6d2f1d33d8 Launcher: fix L10N issues found by Michael D
Address parts of the issues mentioned in:
https://sourceforge.net/p/flightgear/codetickets/2386/
2020-10-29 21:21:40 +00:00
James Turner
29d171e73a Launcher: port the QQC2 check to next
Since we require QQC2 on next, make it a critical warning.
2020-10-29 21:21:00 +00:00
James Turner
e028c52e42 NavCache: fix writes to a read-only DB
When in read-only mode, we were still allowing writes during the
octree building, which is bad. Add the missing check.

Sentry-Id: FLIGHTGEAR-8F
2020-10-29 21:13:47 +00:00
James Turner
4075ea02e9 Launcher: Fix scrollbar for next 2020-10-29 21:12:36 +00:00
James Turner
0dfdf63399 Clear atomic listeners too
This is part of trying to reduce possible causes of the property
crash on shutdown.
2020-10-29 17:28:05 +00:00
James Turner
3af8d11e1b Fix for renamed file 2020-10-29 16:26:36 +00:00
James Turner
801ddc59f8 Fix for missing 2D panel
Should be back-ported to 2020.3

Sentry-Id: FLIGHTGEAR-5X
2020-10-29 16:24:53 +00:00
Automatic Release Builder
77d7476ba6 Fix route-path crashes on empty
This could be triggered by doing ‘view route’ in the launcher flight-
planning code, wit no route defined.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
f8aea84541 Launcher: nicer back button.
Avoid localisation issues for the back button, by switching to an 
icon.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
9855e89109 Launcher: Validate restored aircraft state on load
Otherwise a stray state can enter the logic, unless the user
re-selects it.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
f0e2a297ae Launcher: Fix excessively large mouse area
The notifications catch are was blocking the summary pane; fix the
size to follow the active notifications.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
d75f05d4c0 ATC_mgr fix: clear user aircraft ATC on reposition
Avoids a stale controller causing crashes after a reposition. Triggered
by C172 tutorials.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
9f3f1a8f58 Launcher: Fix translation tag Michael D spotted. 2020-10-29 16:24:41 +00:00
Automatic Release Builder
5b3f0e5cbb Sentry: generate a UUID for report tracking
Because we don’t have any user-identifier, generate a UUID so that
we can filter reports by it.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
f78d644a61 Launcher: fix feedback adding default catalog
When adding the default catalog from the aircraft browse tab, 
the list on the add-ons page didn’t refresh correctly.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
8c371cf3bb Launcher: Separate recent-foo data by version
Since our data encoding is incompatible between 2018 and 2020, use
different settings keys so running both versions in parallel is easier.
Without this, each version screws up the data for the other.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
9776c56faa Fix a crash (race condition) closing the launcher
When local aircraft scanning is slow, we can end up clearing
the locale while a scan is in progress, which crashes. Ensure we
abandon any in-progress scan when closing the launcher.

Sentry-Id: FLIGHTGEAR-CH
2020-10-29 16:24:41 +00:00
Automatic Release Builder
df42c6f026 Launcher: UI feedback for hangar migrations
Add pop-up notification when we migrate to a new version of a hangar.
Convert the ‘new version available’ message to use a pop-up
notification as well.
2020-10-29 16:24:39 +00:00
Stuart Buchanan
c71f281a58 Launcher: First Run capitalization and grammar. 2020-10-29 16:23:26 +00:00
Automatic Release Builder
3e72fb230f Sentry: block XML parse errors from the launcher
Avoid filling up the logs when the launcher parses broken aircraft XML;
wait until the user actually pick one to fly with, before reporting
XML errors.
2020-10-29 16:23:26 +00:00
Automatic Release Builder
fc037de312 NavDataCache: don’t duplicate FG_ROOT/Scenery path
Check if the path is in the list, before adding it again.
2020-10-29 16:23:26 +00:00
Automatic Release Builder
397aad1d1d Autopilot XML: Improve logging around NaNs
The current NaN message is very noisy, and not very information. Try
to improve that, to avoid filling up the logs.
2020-10-29 16:23:26 +00:00
Automatic Release Builder
e4c0e71424 Environment: Doesn’t need to be a warning 2020-10-29 16:23:26 +00:00
Automatic Release Builder
b35b8c6147 Splash screens: support more, and JPEGs 2020-10-29 16:23:26 +00:00
Automatic Release Builder
19aa0332f2 loadxml() command: add ‘quiet’ bool option
This is to avoid console/log spam from jetways.nas in particular,
which uses loadxml to probe for file existence, every 10 seconds. But
in general it seems useful to have this potentially be quiet, since
there is a result code.
2020-10-29 16:23:26 +00:00
Automatic Release Builder
378fc54b61 Launcher: first-run wording tweaks
As discussed on the devel list, also switch to HTTPS.
2020-10-29 16:23:20 +00:00
Automatic Release Builder
9de60e5729 Change error reporting for -set.xml parsing
Avoid exceptions in the ‘not actually a -set.xml’ case, since this
occurs somewhat frequently.

Sentry-Id: FLIGHTGEAR-3W
2020-10-29 16:22:35 +00:00
Automatic Release Builder
e0df583c14 Launcher: fix appearance of disabled add-ons.
Spotted by Michael Danilov
2020-10-29 16:22:35 +00:00
Automatic Release Builder
38f44e0928 Traffic: fix some crashes detected by Sentry
Sentry-Id: FLIGHTGEAR-68
Sentry-Id: FLIGHTGEAR-67
2020-10-29 16:22:35 +00:00
Automatic Release Builder
f4f261a068 Guard against data errors in rwyprefs.xml
AirportDyanmics::innerGetActiveRunway can unfortunately return an
empty string even when it return ‘true’. Check for this in the wrapper,
and switch to the fallback, to avoid returning a bogus runway to
other parts of the code.

Sentry-Id: FLIGHTGEAR-39
2020-10-29 16:22:35 +00:00
Automatic Release Builder
4ac8523bed SetupRootDialog: avoid calling exit()
This causes QApplication to become unhappy and crash, so use a
graceful exit via a new return code and FG_OPTIONS_EXIT instead.

Sentry-Id: FLIGHTGEAR-6B
2020-10-29 16:22:35 +00:00
Automatic Release Builder
582d539a1a Launcher: overhaul local -set.xml parsing
Fix the include context when -set.xml are parsed by the launcher to
extract states and other data. Ensure aircraft paths are available
and handled consistently with normal -set.xml parsing. Without this,
many -set.xmls fail to parse.

Sentry-Id: FLIGHTGEAR-4H
Sentry-Id: FLIGHTGEAR-3B
Sentry-Id: FLIGHTGEAR-3R
Sentry-Id: FLIGHTGEAR-3Q
Sentry-Id: FLIGHTGEAR-3F
Sentry-Id: FLIGHTGEAR-2R
Sentry-Id: FLIGHTGEAR-65
Sentry-Id: FLIGHTGEAR-42
2020-10-29 16:22:35 +00:00
Automatic Release Builder
2b54078023 Additional Sentry message ignores: add AC3D
These make the reports very noisy for no value.
2020-10-29 16:22:35 +00:00
Automatic Release Builder
7597887e60 Fix Sentry issue: FGCom crash on exit
FGCom was added to the wrong group, leading it to be shutdown after
FGSoundManager, and hence, after OpenAL wad closed, which causes
crashes.

Sentry-Id: FLIGHTGEAR-66
2020-10-29 16:22:35 +00:00
Automatic Release Builder
d252740307 Adjust for changed SGXMLSound API
Detect bool return value from init(), use this to allow calmer
failures. Requires corresponding SG commit.
2020-10-29 16:22:35 +00:00
Automatic Release Builder
632d5bc836 Launcher: first-run & help updates
Adjust the wording and links for these pages, after a review session
with Stuart and others. Include a link to the manual and short-ref
from the local installation.
2020-10-29 16:22:35 +00:00
Automatic Release Builder
78c659ec87 Launcher: fix some minor glitches in Aircraft list
- updating of 'no results' box
- sizing of the headers when empty
- double-click to select of the search box when focused
2020-10-29 16:22:33 +00:00
Automatic Release Builder
9748b57971 Launcher: add update checker UI 2020-10-29 16:21:47 +00:00
Automatic Release Builder
1ef6578ad4 Fix scrolling of Launcxher FirstRun
Johnathan R pointed out that for wider windows, the button was
invisible, fix this will a scrollbar.
2020-10-29 14:54:04 +00:00
Automatic Release Builder
f8222da1da Launcher: add help page
Collect some standard information directly in the launcher. Text to be
reviewed, this is just a first draft.
2020-10-29 14:53:51 +00:00
Automatic Release Builder
4c48faf2c7 Remove log warning from geodinfo(), it's too noisy 2020-10-29 14:53:36 +00:00
Automatic Release Builder
c7b90a05d7 Silence a warning on exit. 2020-10-29 14:53:25 +00:00
Automatic Release Builder
cc2178f349 Launhcer: fix enabling/disabling hangars
Part of:
https://sourceforge.net/p/flightgear/codetickets/2380/
2020-10-29 14:53:01 +00:00
Automatic Release Builder
cd2d19f647 Launcher: add UX to enable developer mode 2020-10-29 14:52:51 +00:00
Automatic Release Builder
c7f66ecf1c Fix some warnings from Xcode 12 2020-10-29 14:52:19 +00:00
Automatic Release Builder
b727806bee Launcher: fix favourites behaviour with variants
Fixes ticket: https://sourceforge.net/p/flightgear/codetickets/2380/
Also add a UI prompt when no favourites are selected.
2020-10-29 14:51:45 +00:00
Automatic Release Builder
59e87d0570 Switch a message to MANDATORY_INFO 2020-10-29 14:51:32 +00:00
Automatic Release Builder
b38271f9ae Autopilot: don't warn on un-nmed APs
When no name is defined at all, suppress the 'duplicate name' warning.
2020-10-29 14:51:24 +00:00
Automatic Release Builder
0f01b0cbb6 Launcher: add help panel to instal aircraft
Based on some feedback on the tracker, when few aircraft are installed,
point users towards the 'browse' tab.
2020-10-29 14:51:12 +00:00
Automatic Release Builder
6c0cb998e3 Launcher: show sentry on/off setting everywhere
Since AppImage builds on Linux have Sentry reporting enabled, enable
the on/off UI everywhere
2020-10-29 14:51:02 +00:00
Automatic Release Builder
7ea138038e First-run page for the launcher.
Appears on first launch, gives us a chance to point out some policy
things and where to get help.
2020-10-29 14:50:49 +00:00
Automatic Release Builder
e5a9491d34 Launcher: fix local-weather warning
When a weather scenario doesn’t specify any local-weather data, we
will use METAR anyway, so remove the warning.
2020-10-29 14:50:38 +00:00
Automatic Release Builder
6178457097 Launhcer: Fix an incorrect file-path 2020-10-29 14:50:25 +00:00
Automatic Release Builder
191786d9a0 Launcher: Don't probe for states if the -set.xml is missing
This showed up as frequent exceptions from readProperties in the
launcher, when checking for states.

Sentry-Id: FLIGHTGEAR-2R
2020-10-29 14:50:13 +00:00
Automatic Release Builder
eb1d8a7dc8 Fix trafific crash that was reported.
Probably an edge case of and edge case, but let's guard for it anyway,
since it causes traffic to terminate.

Sentry-Id: FLIGHTGEAR-2Q
2020-10-29 14:49:53 +00:00
Automatic Release Builder
c75388f4b7 Sentry: white-list another libPNG warning
These are not useful for tracing, so filter them out
2020-10-29 14:47:57 +00:00
Automatic Release Builder
6e947f59eb Change MP on-runway-start message to MANDATORY_INFO 2020-10-29 14:47:48 +00:00
Automatic Release Builder
18aabbdbb5 AITraffic: workaround missing node
Avoid 'findShortestRoute' exception by checking both the start
and end nodes are valid first. Doesn't fix the error but avoids
a traffic shutdown.

Sentry-Id: FLIGHTGEAR-2F
2020-10-29 14:47:07 +00:00
Automatic Release Builder
77b6d635fe Multiplayer: change how we log activation
Use MANDATORY_INFO and set a Sentry tag when MP is active
2020-10-29 14:46:47 +00:00
Automatic Release Builder
39bc7f2acd Nasal: reduce exceptions from loadxml()
When the file path is not preset, check for this and don’t let
readProperties() fail with an exception, since this makes for very
noisy event reporting.
2020-10-29 14:46:35 +00:00
Automatic Release Builder
d803875997 Sentry: fix exception reporting formatting 2020-10-29 14:46:07 +00:00
Automatic Release Builder
063d7bf53f Move some warnings to Dev-mode
These are autopilot XML issues, so not useful for regular users.
2020-10-29 14:44:53 +00:00
Automatic Release Builder
c564c667df Sentry: avoid duplicate events for exceptions
Since fatalMessageBox already logs an event when it’s invoked, don’t
report the event a second time.
2020-10-29 14:44:40 +00:00
Automatic Release Builder
a2ba405d8e Sentry: log SimGear exception throws 2020-10-29 14:44:27 +00:00
Automatic Release Builder
d07360b37d Launcher: guard against missing data files
More robust checking that FGData is setup correctly, when we try to
parse defaults.xml from the launcher.

Relates to Sentry exception:
https://sentry.io/organizations/flightgear/issues/1901193353
2020-10-29 14:44:08 +00:00
Automatic Release Builder
db4e71955e Sentry: track compositor on/off 2020-10-29 14:42:24 +00:00
James Turner
dfcae619cf Crude startup logging.
To diagnose startup hang, will revert once we have fix the issue.
2020-10-29 13:44:59 +00:00
James Turner
58f0b4a16a TimeManager: expose the speed=up factor nicely 2020-10-29 13:44:59 +00:00
James Turner
423c754009 Reposition: tolerate more scenarios in ATC_mgr
When starting at an airport, but not at parking or a runway, create
an empty AIFlightPlan, and ensure the AIManager code doesn’t choke on
empty FPs.

Add a unit-test which simulates the C172 tutorial reposition logic,
which is a little gnarly.
2020-10-27 18:32:18 +00:00
Erik Hofman
46435edf19 The fixed 60 degrees offset at EHAL turned out to be the lattitude offset (actually 53.45 degrees): The moon seems to be dragging the tide with an almost perfect 45 degrees 'bow-wave' along the equator. 2020-10-27 08:31:54 +01:00
James Turner
7510f7d487 AI Fix a crash where a valid flightplan is assumed
Sentry-Id: FLIGHTGEAR-GX
2020-10-26 16:03:29 +00:00
James Turner
f2a108945d Expose version number parts in the header
This will avoid strutils::split to extract these values.
2020-10-26 16:03:29 +00:00
Erik Hofman
f24da5ac3d Fix tide levels to match th reported ones exactly, for today and months ahead 2020-10-26 10:24:33 +01:00
Erik Hofman
9a54ff575c Fix the calculation of the moons longitude since the moon does not specify xs but xg instead. This required a nasty strcmp of the body name so switch to parsing a boolean instead and convert to strings when required. 2020-10-26 10:23:54 +01:00
James Turner
afb43edbdf Make EDDF procedures work better.
Allow mis-match of STAR and approach, which is necessary for EDDF
operations. When there’s a mismatch, just route the common section
and don’t try to build a STAR -> approach transition.

Fix by Tobias Dammers.
2020-10-25 20:31:53 +00:00
James Turner
a21c0f9c16 Groundnet parsing: Fix exception for missing value
Sentry-Id: FLIGHTGEAR-CJ
2020-10-25 20:14:10 +00:00
James Turner
358fb70ee0 Catch XML errors parsing traffic files
Sentry-Id: FLIGHTGEAR-EQ
2020-10-25 20:14:10 +00:00
James Turner
fd630b6d37 Traffic: adjust failure of for reachedEndOfCruise
When reachedEndOfCruise fails, return true, so we trigger the next
phase of the flight. Without this we get stuck logging the error
message, but not progressing the flight.
2020-10-25 20:14:10 +00:00
James Turner
4bbff581f3 Fix crash in flight-plan UI
Sentry-Id: FLIGHTGEAR-ES
2020-10-25 20:14:10 +00:00
James Turner
3b01aaf33f Fix crash with missing airport in ATC
Sentry-Id: FLIGHTGEAR-ER
2020-10-25 20:14:10 +00:00
James Turner
e0bd74e982 RouteManager: validate changes to current-wp
Since FlightPlan::setCurrentIndex throws, ensure we validate the value
coming from the property before setting it.

Sentry-Id: FLIGHTGEAR-71
2020-10-25 20:14:03 +00:00
James Turner
4c3aa8b484 Check for missing file in several places
Replaces a ‘missing tag at line 1’ error with a simpler ‘file not
found’ message.

Sentry-Id: FLIGHTGEAR-5X
2020-10-25 20:01:57 +00:00
James Turner
9ebbfb90af Traffic: Fix crash in createTakeoff
Likely relates to repositioning, and a stale ‘active runway’ value.
2020-10-23 15:40:33 +01:00
Erik Hofman
029ad744b2 base the tides on the viewer, moon and sun longitude for an accurate prediction. 2020-10-22 20:44:42 +02:00
Erik Hofman
3e75668194 Remove references to unused functions 2020-10-22 15:26:51 +02:00
Erik Hofman
ef8dc106ce Explicitly set the daylight-saving time flag to zero since we specify in GMT 2020-10-22 12:02:28 +02:00
Erik Hofman
f3e47ef3b7 Switch to make_unqiue 2020-10-19 14:49:07 +02:00
Erik Hofman
23252df726 Move tide calculations from FGLight into it's own subsystem 2020-10-19 14:28:56 +02:00
Erik Hofman
5fcbd46d53 Switch to more modern C++ 2020-10-18 11:24:45 +02:00
James Turner
497636c3dc Fix for Linux build 2020-10-15 16:17:30 +01:00
Bertrand Coconnier
4049acd84e Bump the protocol version because Chris Speck's changes broke the backward compatibility. 2020-10-02 21:30:54 +02:00
Florent Rougon
8985626ad5 Fix LaRCsim build errors
The previous commit (88c2b7a83) used '#if ENABLE_UIUC_MODEL' instead of
'#ifdef ENABLE_UIUC_MODEL' in a few places, causing a build error.
2020-09-30 16:45:11 +02:00
Erik Hofman
88c2b7a833 Make LaRCsim work again when UIUC is dissabled. Unfortunately only the c172 seems to be stable. The Navion and Cherokee fail to trim at the runway. 2020-09-30 15:39:30 +02:00
Florent Rougon
b1b12a924f Simplify NavDataCache::NavDataCachePrivate::findDatFiles()
- Use a range-based for loop instead of an iterator.

- Don't bother checking if the previously-visited directory was the
  same: the potential saving that the previous code was hoping should be
  null because FGGlobals::append_fg_scenery() doesn't add a path to
  FGGlobals::fg_scenery if it's already there---this assumes that all
  paths added to FGGlobals::fg_scenery go through
  FGGlobals::append_fg_scenery(), of course.

This should have no effect on FG's behavior.
2020-09-30 11:09:44 +02:00
Erik Hofman
56d4662468 Next big step: proper ground reactions. Also make it possible to run fgfs --aircraft=aisim --aero=<aircraft> for different aircraft configurations (which requires an upcoming update to FGData 2020-09-25 13:19:10 +02:00
James Turner
5329c4024b Sentry experiment: record warnings/alerts
This means that when a crash/exception occurs, we can see the preceding
warnings and alerts. Not sure if this will really help, so giving it
a test.
2020-09-18 10:34:40 +01:00
James Turner
d56e3857b6 Fix sentry setting of dist
Was missing header and string conversion, oops.
2020-09-18 10:14:23 +01:00
James Turner
3b5b301e98 Launcher: Disable Qt 5.15 QML warnings 2020-09-17 21:45:39 +01:00
James Turner
aea0a1a12a Sentry: set dist (build) data 2020-09-17 21:45:39 +01:00
James Turner
3a69e20248 Reduce the default log-level for the launcher. 2020-09-14 11:05:46 +01:00
James Turner
cae06a79b7 Attempt to fix crash-on-exit seen for Windows
Can’t reproduce this crash but it’s happening for some users on Windows,
so this should either fix it, or make the problem more obvious. Let’s
see.

https://sentry.io/organizations/flightgear/issues/1890563449
2020-09-14 11:05:46 +01:00
Erik Hofman
f2a96eaa6c Stabilize the forces and moments, clean up the code some more 2020-09-10 11:41:06 +02:00
James Turner
4fc0948dbf Fix Windows compilation 2020-09-08 21:51:57 +01:00
James Turner
e26a2ecab0 Crash:harden against malformed menu bar entries
If a menu-bar item is missing a <name>, we can end up building a string
from nullptr, which is a SEGV.

Reported as Sentry issue FLIGHTGEAR-1D

Will back-port to LTS once verified.
2020-09-08 14:01:39 +01:00
James Turner
830a890eff Tests: skeleton ViewManager/Views tests 2020-09-08 12:31:42 +01:00
James Turner
1fe82206a0 Make view subscripting more robust
Trying to fix a crash raised by Sentry
2020-09-08 11:23:14 +01:00
James Turner
395a3e70e9 Logging: use new MANDATORY_INFO level.
Requires corresponding SG commit.
2020-09-08 10:59:29 +01:00
Erik Hofman
abb8ce0120 AISim: Implement a JSON configuration file reader, fix gear positions and engine thrust calculation. 2020-09-07 11:48:38 +02:00
James Turner
e46c6f587b AIFlightPlan: remove ‘erase’ option from Decrement
Thankfully, the erase option to DecrementWaypoint was never used, so
remove it, since it’s … mental.
2020-09-05 11:16:36 +01:00
James Turner
f802e09c57 ASan: QtMessageContext doesn’t copy file names
Use the ‘file name copying’ version of log(), to avoid an ASan use-
after-free. Note this requires SG change 
 908496d43dd7c3a7ca1de42b0e0c21aa0498c7df
to work correctly.
2020-09-05 10:44:43 +01:00
Slawek Mikula
c9d1d58146 [Launcher] #2316 - fixed sorting in the aircraft grid/listview.
When there are installed the same aircrafts from different sources 
(fgdata + fgaddon + git) with identical descriptions, use the URI to
provide stable sorting.
2020-09-05 10:44:43 +01:00
James Turner
f5b5828bd0 AIFlightPlan: add test for XML parsing
This meant some slight refactoring to expose some easier APIs for
testing, but the normal methods should be unaffected.
2020-09-05 10:44:43 +01:00
James Turner
3a3ff07883 Start testing FGAIFlightPlan 2020-09-05 10:44:43 +01:00
Erik Hofman
0272a4fa3f Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/flightgear into next 2020-09-04 16:03:39 +02:00
Erik Hofman
a95aaab0f4 use in-place declarations and clean up the code a bit 2020-09-04 16:03:04 +02:00
James Turner
2147eb8da9 Missed fixes from previous Yasim commit. 2020-09-04 13:05:11 +01:00
James Turner
d2fb16e071 Fix mismatched new/strdup/delete[] froub by ASan
See: https://sourceforge.net/p/flightgear/codetickets/2367/ for the
issue. Switch to using std::string instead of char*, and hence any
need to manually free the memory.
2020-09-04 12:41:56 +01:00
James Turner
4402d7b81d NavCache: only remove if the file exists.
Otherwise we block trying to re-create the cache, which is dumb. This
showed up as Sentry issue:
https://sentry.io/organizations/flightgear/issues/1875854826

Will back-port to 2020.2 once verified.
2020-09-04 12:29:45 +01:00
James Turner
1fd5502e9b Nasal removecommand: use a return value
Change removecommand() to indicate success or failure via a return
value: 1 for success, 0 for failure.
2020-09-04 10:56:41 +01:00
Erik Hofman
c6cb845f90 Merge branch 'next' of ssh://git.code.sf.net/p/flightgear/flightgear into next 2020-09-04 11:45:33 +02:00
Erik Hofman
6bd87586b0 Fix stability: CL and CD must be negative 2020-09-04 11:44:37 +02:00
Erik Hofman
e8fe8345bf Start using or own types for vectors and matrices for sharter and more readable code. Fix some sign issues 2020-09-04 10:58:18 +02:00
James Turner
9090d91be3 Fix a missed pu.h rename. 2020-09-03 20:25:14 +01:00
James Turner
61c6cfb050 AIAircraft: fix type of non-Swift aircraft 2020-09-03 17:51:40 +01:00
James Turner
d1fc4b58cb Start creating tests of AIModel code
First test just creates the manager, and ensures the user aircraft
updates in sync with the real aircraft.
2020-09-03 17:51:40 +01:00
Erik Hofman
ce1e85f656 Get the AISim FDM in a semi-flyable state 2020-09-03 14:39:38 +02:00
Erik Hofman
bdc66d5535 Rename our own version of pu.h to FlightGear_pu.h per James advice. Remove inclusion of pu.h where it isn't requirted. 2020-09-03 12:56:01 +02:00
Erik Hofman
0451816a82 Add our own version of pu.h and use it to prevent bug #2362 on all systems. This can be done since pu.h is to be considered in code freeze forever anyhow. 2020-09-01 10:12:42 +02:00
Scott Giese
ad2bf3cd09 Revert "Resolve Deprecation Warnings"
This reverts commit 8cede3f065.
2020-08-30 17:58:36 -05:00
Scott Giese
7b914bc5fb Removed unreachable code 2020-08-29 11:20:40 -05:00
Scott Giese
a87d9ca76f BezierNode: logic error in initialization 2020-08-29 11:03:31 -05:00
Scott Giese
532d879f72 Dead code removal 2020-08-29 11:00:55 -05:00
Scott Giese
e079f0d1eb Resolve warnings: comparison between unsigned and signed types 2020-08-29 10:15:02 -05:00
Scott Giese
8cede3f065 Resolve Deprecation Warnings 2020-08-29 10:12:35 -05:00
James Turner
37d820120d Unit-testing: tests for Nasal SGCommand API
Test adding/removing/invoking commands, and error handles when
duplicate adding and removing a command name.
2020-08-26 17:20:58 +01:00
James Turner
66f938be8e Sentry: fix naming clash. 2020-08-26 15:29:55 +01:00
James Turner
a882b75c9b Sentry: fix fatal-error event type. 2020-08-26 13:57:44 +01:00
James Turner
5dbab6e90e CMake: overhaul how we find 3rd-party files
Handle the standard windows-3rd-party setup (used by fgmeta) with no
extra options, and also handle the slightly odd setup we use on Jenkins.
Try to tolerate all permutations of setting MSVC_3RDPARTY_ROOT to 
different places in the hierarchy.

We no longer try to guess Boost_INCLUDEDIR by looking at parent dirs of
MSVC_3RDPARTY_ROOT, since this seemed kind of bad to me. Let’s try 
it and see.
2020-08-26 13:57:24 +01:00
Automatic Release Builder
9d775cdfe7 Fix duplicate init of Sentry on reset 2020-08-26 09:52:16 +01:00
Automatic Release Builder
73b4c3839d Sentry: more breadcrumbs 2020-08-26 09:52:09 +01:00
Automatic Release Builder
d9b7435dab Sentry logging of exceptions, fatal errors 2020-08-26 09:52:02 +01:00
Automatic Release Builder
bade1ec4c6 Attempt to fix ref-ptr crash on exit
Fixing Sentry issue FLIGHTGEAR-9
2020-08-26 09:51:55 +01:00
James Turner
06b026a218 GUI/knob animation: fire release binding over PUI
Fire the release bindings for active pick callbacks, even for a ‘handled’
mouse release. This means knobs, etc will fire their release binding
if the mouse is over a PUI dialog.

https://sourceforge.net/p/flightgear/codetickets/2347/
2020-08-25 20:48:29 +01:00
James Turner
8a1109160b Fix Nasal ‘removecommand’ so it actually works. 2020-08-25 19:23:43 +01:00
James Turner
cf424e4344 Rename buildId header file
Avoid the very common name ‘build.h’ in favour of something clearer
and FlightGear specific.
2020-08-24 15:05:16 +01:00
James Turner
178d1beb80 Cmake: Remove version.h machinery
Merge this file into config.h, this means we can save an include path
everywhere.
2020-08-24 15:04:24 +01:00
James Turner
6dfbda9bd1 Cmake: ifx abuse of OBJECT libraries
Use STATIC intermeidate libs for these pieces, to keep older CMake
versions happy.
2020-08-24 13:19:57 +01:00
James Turner
11932bac4e Trying to fix EnvironmentManager shutdown crash.
Not sure this will fix it, but it’s the only scenario I can spot so far,
so let’s try anwyay.

Reported at Sentry as: FLIGHTGEAR-8
2020-08-24 10:25:09 +01:00
James Turner
4fe8a118cc Traffic: Improve iterator robustness
Attempting to fix Sentry crash FLIGHTGEAR-B, crash on shutdown. Not
sure this is quite right, but the logic is clearer and we handle
invalid iterators better.
2020-08-24 10:23:50 +01:00
James Turner
95fd692af1 CMake: move install() rule for compatability
Older CMake versions can’t install(TARGET…) from a different directory.
2020-08-23 21:50:36 +01:00
James Turner
476b9eb3d1 Ensure OSG headers are founding building the UI 2020-08-23 21:10:56 +01:00
James Turner
f7dc02d009 Fix Swift build with CMake 2020-08-23 11:31:37 +01:00
James Turner
218df89b29 Embedded resources: better cmake command
Use add_custom_command and an intermediate OBJECT library to avoid
rerunning fgrcc unless the XML input file has actually changed.
2020-08-23 11:31:37 +01:00
James Turner
47ff3e9f67 Improve CMake strucutre 2020-08-23 11:31:37 +01:00
Scott Giese
63d3dd4cbd REVIEW: Memory Leak - FLITEVoiceSynthesizer ctor
1,696 bytes in 4 blocks are definitely lost in loss record 6,145 of 6,440
2020-08-23 00:21:11 -05:00
Scott Giese
0ce2fdf190 REVIEW: Memory Leak - PositionedOctree.cxx
1,728 bytes in 36 blocks are still reachable
1,280 bytes in 8 blocks are still reachable
480 bytes in 3 blocks are still reachable
2020-08-23 00:15:42 -05:00
Scott Giese
dc1519bfe8 REVIEW: Memory Leak - screensaver_control
2,056 bytes in 1 blocks are still reachable
352 bytes in 1 blocks are indirectly lost
320 bytes in 1 blocks are still reachable
2020-08-22 22:59:33 -05:00
Scott Giese
f84a522f12 REVIEW: Memory Leak - FGPUIMenuBar::add_enabled_listener()
3,920 (3,136 direct, 784 indirect) bytes in 98 blocks are definitely lost
2020-08-22 22:22:47 -05:00
Scott Giese
9d6239031f REVIEW: Memory Leak - wxRadarBg::init()
4,096 bytes in 1 blocks are indirectly lost
2020-08-22 21:48:52 -05:00
Scott Giese
6c14eaa6e8 REVIEW: Memory Leak - FGLinuxEventInput::postinit()
4,995 (40 direct, 4,955 indirect) bytes in 1 blocks are definitely lost
2020-08-22 21:26:03 -05:00
Scott Giese
8e9e16bac6 REVIEW: Memory Leak - Branch::childAtIndex
9,152 bytes in 52 blocks are still reachable
2020-08-22 18:01:15 -05:00
Scott Giese
f21eb3a484 REVIEW: Memory Leak - Options ctor
15,768 bytes in 219 blocks are still reachable
2020-08-22 17:23:55 -05:00
Scott Giese
14b28d4f72 REVIEW: Memory Leak - FGLinuxEventInput::posinit()
55,004 (40 direct, 54,964 indirect) bytes in 1 blocks are definitely lost
2020-08-22 17:05:35 -05:00
Scott Giese
91f8b4dbef REVIEW: Memory Leak - ClipboardX11 ctor
55,397 (104 direct, 55,293 indirect) bytes in 1 blocks are definitely lost
2020-08-22 17:00:24 -05:00
Scott Giese
9d4a940bc0 REVIEW: Memory Leak - wxRadarBg::init()
277,296 (16 direct, 277,280 indirect) bytes in 1 blocks are definitely lost
2020-08-22 16:53:10 -05:00
James Turner
94ff2f8ee4 Load APT1000 comm frequencies correctly.
See discussion in:
https://sourceforge.net/p/flightgear/codetickets/2336/
2020-08-19 11:48:50 +01:00
James Turner
5b3cdb49c5 Sentry: add breadcrumb on scenery reload 2020-08-19 11:47:34 +01:00
Automatic Release Builder
bbce95b5ea Updates for sentry.io 0.4.0 API 2020-08-18 16:51:27 +01:00
Automatic Release Builder
439c5bf4f4 Adjust how we enable/disable Sentry.io
This allows for crash-reporting in the launcher,
but still disabling via default.xml or the command line.
2020-08-18 16:51:21 +01:00
James Turner
a297c89144 Flightplans: add clearAll, rename clear -> clearLegs
Improve naming of clear() methods, and expose the new ones to Nasal.
this will allow RouteManager dialog ‘clear’ button to clear all, soon.

See ticket:
https://sourceforge.net/p/flightgear/codetickets/2064/
2020-08-17 16:11:10 +01:00
James Turner
06a14b4b27 Fix a use-after-free ASan spotted. 2020-08-17 16:05:20 +01:00
James Turner
09067eecda Protocols: additional Hz rate validation
Patch by Huntley Palmer, to warn when passing Hz=0 for the protocol
args, which does not work so well.
2020-08-17 12:15:40 +01:00
James Turner
86f6b94300 Use new thread-safe particles manager.
Requires corresponding SG commit
2020-08-17 10:00:42 +01:00
James Turner
2295e82a0f Fix a use-after-free found by ASan. 2020-08-17 10:00:42 +01:00
Stuart Buchanan
51173f32ff Additional AI Aircraft properties for animation
Add a number of properties set by both AI Traffic and Swift aircraft:

gear/gear[0..5]/position-norm
surface-positions/flap-pos-norm
surface-positions/spoiler-pos-norm
surface-positions/speedbrake-pos-norm
controls/lighting/beacon
controls/lighting/cabin-lights
controls/lighting/landing-lights
controls/lighting/nav-lights
controls/lighting/strobe
controls/lighting/taxi-lights

Also improve take-off behaviour
2020-08-16 14:49:33 +01:00
James Turner
06e6883396 Call new simgear clearSharedTreeGeometry
Should remove the Final Effect (TM) and fix one source of memory
corruption on reset.
2020-08-14 16:47:02 +01:00
James Turner
095be63be4 Reset: Add some missing prop clears on unbind 2020-08-12 16:38:10 +01:00
James Turner
977bfb06bf Reset: ensure mobile tacan drop its AI references
Add a slightly ugly hook, to force mobile nav records to drop their
refs into the property tree on reset.
2020-08-12 16:37:52 +01:00
James Turner
51bb8ed5ce GUI: clean PUI junk on GUI shutdown 2020-08-12 16:36:22 +01:00
James Turner
5d2bb87601 On shutdown, the renderer might already be gone.
Check for this when trying to remove the event handler.
2020-08-12 15:33:20 +01:00
James Turner
16ae171333 Fix a read of freed-data when closing props channels
Ensure we close all channels, before the NetPoller is destroyed, to
avoid a use-after-free.
2020-08-12 15:32:52 +01:00
James Turner
a05e5075b2 FGCom: explicit init some member variables
Fix various places Valgrind identified as read-of-un-inited. Also
fix use of frequencies are integers: always use a double type explicitly,
which will make MSVC happier.
2020-08-12 15:32:02 +01:00
James Turner
d6a0dadf45 Windows build fixes
std::for_each needs <algorithm>
2020-08-11 19:20:32 +01:00
James Turner
56089b9dd9 Fix clean up of the PUI event handler on reset 2020-08-11 18:44:41 +01:00
James Turner
c913b752fc Improve reset main-loop interaction.
Actually remove our main-loop properties, and clear them from the
EventHandler, so we don’t report them as leaked properties.
2020-08-11 18:44:29 +01:00
James Turner
3b5721d77e Fix leaking of dynamics/AI traffic
Use a weak-ref for ParkingAssignment to refer to its owning dynamics,
to avoid a circular dependency.
2020-08-11 18:43:24 +01:00
James Turner
fa76d5b158 Fix errors with missing runways at KORD
This likely relates to stale runway preferences data.
2020-08-11 18:43:20 +01:00
James Turner
21629402ce ATCManagers: Use modern subsystem retrieval 2020-08-11 18:43:14 +01:00
James Turner
250669f75a Fix circular ownership in FGFX
FGFX isA SGSampleGroup, but owns some SGXmlSounds, which also take an
owning ref to their sample group. Clear out the XMLSounds on unbind(),
to break the circular reference.
2020-08-11 14:06:15 +01:00
James Turner
f8fcc8ff5d Default (XML) electrical system: fix leaks
Ensure shutdown of the electrical system actually cleans up components.

Fixes some leaks and dangling properties on reset.
2020-08-11 14:05:10 +01:00
James Turner
b4df97beb6 Fix a crash with clicks on reset 2020-08-11 14:03:55 +01:00
James Turner
fff2fa1718 Raw-pointer -> smarter pointer in TileMgr
Not fixing any leaks, just making ownership more explicit.
2020-08-11 11:44:29 +01:00
James Turner
e2e5223784 Fix leak of FGTerrain on shutdown
This fixes us leaking all STG objects on shutdown, due to an errant
raw pointer in the scenery layer.
2020-08-11 11:16:30 +01:00
Hans Kunkell
4743ede3b3 generates io channel names and adds to property tree 2020-08-10 10:49:09 +01:00
Hans Kunkell
2992e1b100 implements reinit of IO channels 2020-08-10 10:27:51 +01:00
Scott Giese
04a5c37a55 Memory Leak - Fixed
60,200,752 (59,468,656 direct, 732,096 indirect) bytes in 285,907 blocks are definitely lost in loss record 15,499 of 15,501
2020-08-07 12:28:15 -05:00
Richard Harrison
ab1ecb0a31 Directional point light (triangle) changes
Ensure that there are listeners on the properties as the scene features needs to be kept up to date with the properties.
2020-08-07 12:05:57 +02:00
Scott Giese
75e28368ea Memory Leak: 57 MB
60,200,752 (59,468,656 direct, 732,096 indirect) bytes in 285,907 blocks are definitely lost in loss record 15,499 of 15,501
2020-08-06 22:01:15 -05:00