James Turner
3075b8bcc4
new version: 2020.3.0
2020-06-15 12:33:50 +01:00
James Turner
751cdc32a8
new version: 2020.2.1
2020-06-15 12:33:50 +01:00
Julian Smith
1d978429f5
simgear/props/props.cxx: Avoid possible SEGV e.g. if listener removes itself.
...
simgear/props/props_test.cxx: test for self-unregister.
SGPropertyNode::removeChangeListener() used to modify the _listeners vector or
even delete it and set _listeners to NULL, if a listener was removed.
This could cause a SEGV if removeChangeListener() was called from
a listener, because listeners are called from methods such as
SGPropertyNode::fireValueChanged() which iterate through _listeners and don't
expect it to be changed to NULL.
The fix here is to keep a track of whether we are iterating through the
_listeners vector; if we are, SGPropertyNode::removeChangeListener() sets the
entry to NULL, instead of removing it.
We have a new internal function forEachListener() which takes
care of the iterating details - incrementing/decrementing the new
_listeners->_num_iterators count and skipping NULL entries. Before returning,
if _num_iterators is now zero it removes any NULL entries in the vector of
listeners.
The nListeners() member is no longer inline, because it needs to ignore NULL
entries in the vector. And _listeners now points to an internally-defined
struct which contains a new _num_iterators as well as the vector of listeners.
Added self-unregister test to simgear/props/props_test.cxx.
2020-06-13 18:11:49 +01:00
James Turner
2b2e3ae5c4
Fix CMake value
2020-06-05 13:53:54 +01:00
James Turner
0e3ac7e078
Set CMake OpenGL VND policy
2020-06-05 13:32:43 +01:00
James Turner
01ab3b2385
New SGGeodesy::advance, taking degrees
2020-05-30 16:27:42 +01:00
James Turner
11cf87951c
SIMD flags: ensure we respect other compiler flags
...
Ensure we only ever extend the currently set compile flags when
ENABLE_SIMD is requested
2020-05-28 10:46:18 +01:00
James Turner
7c004a4c90
Fix compilation with Boost >= 1.73
2020-05-28 10:45:47 +01:00
James Turner
a48693d273
Kill explicit setting of compiler flags in Debug
...
Use the CMake defaults for this.
2020-05-24 14:32:13 +01:00
James Turner
12d57a6373
Adjust RelWithDebInfo optimisation for Clang
...
This should give a bit of speed boost to macOS official builds.
2020-05-13 14:23:00 +01:00
James Turner
c7c8fc7777
Better RelWithDebInfo flags for CL.exe
2020-05-08 14:31:44 +01:00
James Turner
6e054e57ef
Windows: ensure RelWithDebInfo is fast
...
Default CMake RelWithDebInfo pessimizes inlining
2020-05-07 14:13:54 +01:00
James Turner
1d89a76d13
Old-style texture compression: better check
...
Make even more sure new-style texture-compression is active, before
deciding which old-style mode to use.
2020-05-07 11:47:25 +01:00
James Turner
65925cccdf
Enable old-style texture compression
...
Thanks to Dany for tracking this down!
2020-05-05 20:40:29 +01:00
James Turner
898559ab31
Add copyPropertiesIf helper
2020-05-03 12:21:36 +01:00
James Turner
ad3621e23b
Add Canvas::Image.dirtyPixels()
2020-04-28 09:36:40 +01:00
James Turner
57b0f70a55
Nasal: improve message for non-object member access
...
Based on some discussion on this ticket:
https://sourceforge.net/p/flightgear/codetickets/2186/
Make this message slightly clearer.
2020-04-28 09:36:40 +01:00
Erik Hofman
8d6e543cc2
Only use readwav for OpenAL
2020-04-28 09:41:11 +02:00
James Turner
bd93fb279b
new version: 2020.2.0
2020-04-27 09:29:55 +01:00
James Turner
81bdae283a
new version: 2020.1.1
2020-04-27 09:29:54 +01:00
James Turner
00e25404c7
Add simgear::optional
...
This is a poor-man’s proxy for std::optional until we have it.
2020-04-25 18:05:59 +01:00
gallaert
6a157e1c08
Replace boost::tuple by std::tuple
2020-04-22 14:04:21 +01:00
gallaert
7a6f9151a6
General boost cleanup
2020-04-22 14:04:21 +01:00
gallaert
567293c14d
Replace boost::function by std::function
2020-04-22 14:04:21 +01:00
gallaert
2ff6a4966a
Replace boost::bind by std::bind and lambda function
2020-04-22 14:04:21 +01:00
gallaert
b13d7f9392
Replace boost::lexical_cast by std::ostringstream and std:stof/stoi/stod
2020-04-22 14:04:21 +01:00
gallaert
d21137739d
Replace boost::enable_if/disable_if/enable_if_c/disable_if_c by std::enable_if
2020-04-22 14:03:47 +01:00
gallaert
1e13cf6fec
Replace boost::shared_ptr/weak_ptr by std::shared_ptr/weak_ptr
2020-04-22 14:03:47 +01:00
James Turner
5c52cdc255
Fix for crash on reset:
...
https://sourceforge.net/p/flightgear/codetickets/2217/
Ensure that subsystem lookup during its own removal, returns nullptr.
Otherwise we cache an about-to-be dead pointer, which is Bad (TM)
2020-04-22 10:55:41 +01:00
James Turner
17d7808200
Remove a log message
2020-04-22 10:54:44 +01:00
James Turner
f144bd5a89
CanvasImage: fix updating after fillRect / setPixel
2020-04-18 21:31:16 +01:00
James Turner
b72553f6f0
Nasal: add isscalar() for Henning
2020-04-18 18:06:35 +01:00
James Turner
c82a14c252
Nasal: fix build on non-C99 mode
...
It seems GCC at least is strict about C99 mode.
2020-04-16 16:44:20 +01:00
James Turner
faa559e9af
Nasal: add vecindex() built-in
2020-04-16 13:40:41 +01:00
James Turner
c51c0c43ed
Nasal: add more isTYPE helpers from Henning
2020-04-16 11:42:41 +01:00
gallaert
2ab0122124
Replace boost::to_lower and boost::to_upper by strutils::lowercase and strutils::uppercase
2020-04-14 13:24:59 +01:00
James Turner
8626e0482d
Nasal: add some type-check helpers.
...
These avoid building a string for the result, as typeof() does
2020-04-14 13:24:06 +01:00
gallaert
c9a4c0dac1
Replace BOOST_FOREACH by C++ 11 for range loop.
2020-04-12 14:39:12 +01:00
gallaert
825d93423d
Statements following return, break, continue, goto or throw will never be executed.
2020-04-12 14:39:12 +01:00
Erik Hofman
ad24ce02e7
Remove some debugging statements
2020-04-12 14:53:16 +02:00
Erik Hofman
695616a8f2
Switch from doing the calculations ourselves in case of a bad_doppler implementation to using alDopplerFactor
2020-04-12 14:50:12 +02:00
Erik Hofman
b3bdf8636a
Limit the velocity to the sound velocity after multiplying it by a foctor of 100 to compensate for bad Doppler calculations. Also add the option to set the sound velocity for the sound manager from within FlightGear (not yet used).
2020-04-11 09:48:49 +02:00
James Turner
c62c080a4b
Logging: enable the WinDebug callback using an env var.
...
Instead of hard-coding, add an env-var SG_WINDEBUG to enable the
logging to the Windows debug stream.
2020-04-10 19:50:58 +01:00
James Turner
c90ab3df5b
Packages: consider checksum failures for retry.
...
This means an out-of-sync mirror causes a retry on a different
mirror server.
2020-04-10 15:03:17 +01:00
James Turner
21e21a1fa8
Allow TiedPropertyList to fire valueChanged
2020-04-10 10:41:00 +01:00
James Turner
92ebdbfacc
Expose compare-version helper publicly.
...
This helper was added for Catalog version checking, but will be used in
FlightGear now, so move it to strutils.
2020-04-09 14:39:12 +01:00
James Turner
8dbabc8b43
Texture-compression fixes
...
Rename a highly confusing method, and disable the older texture-
compression code since it interacts badly with the new texture-cache.
2020-04-07 12:12:52 +01:00
James Turner
c83dc79357
Revert to C++11 for now, found an alternative solution.
2020-04-06 10:44:23 +01:00
James Turner
a53c1bfe8b
CMake logic to export debug symbols
2020-04-05 14:04:19 +01:00
James Turner
6185b8fd0d
Fix crash with Touch animation mouse-up
2020-04-05 14:04:19 +01:00