Florent Rougon
8f24de831d
Adapt includes according to relocation of SimGear's iostreams-related files
...
This change is the logical counterpart of SimGear's change from commit
79f869a7f32910197be72b21f6489fbbba02c836 that moved the following files
from simgear/misc to simgear/io/iostreams:
gzcontainerfile.cxx
gzcontainerfile.hxx
gzfstream.cxx (formerly zfstream.cxx)
gzfstream.hxx (formerly zfstream.hxx)
sgstream.cxx
sgstream.hxx
sgstream_test.cxx
2017-02-12 21:30:51 +01:00
Erik Hofman
1a0537e493
Silence a few compiler warnings
2017-01-26 15:37:43 +01:00
James Turner
0af316d7fc
Nasal Time objects can use simulated time.
...
Previously timer objects defaulted to using wall-clock (real) dt which
does not reflect pause/speed-up. Keep this as the default for
compatibility but make it possible to request simulated time.
2016-12-11 16:10:57 +00:00
Rebecca N. Palmer
31cb65e8d9
Nasal security: add --allow-nasal-read, warn on non-Nasal-readable
...
Terrasync, prepare for allowing --download-dir
Add unmangled_fg_scenery
2016-10-09 15:21:09 +01:00
James Turner
347a89c1f2
Extend event-input with report-setting.
...
Can generate feature report data via Nasal callbacks. This is used to
drive the GoFlight LCD / LEDs.
2016-09-28 21:16:24 -05:00
James Turner
100e8bf2b2
Further SGPath API usage improvements.
2016-07-15 16:49:13 +01:00
James Turner
8e875b22f5
fgValidatePath uses SGPath
2016-07-03 23:59:40 +01:00
James Turner
fc3d47cd34
More std::ifstream -> sg_ifstream
2016-07-03 23:48:44 +01:00
James Turner
6d0c2070fd
Use future-proof SGPath APIs.
...
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
Rebecca N. Palmer
f749953493
Nasal security: don't break file dialogs
...
Include the directory itself when allowing reading
Don't kill the script on a denied directory read
2016-02-09 23:17:41 +00:00
Rebecca N. Palmer
74356e84f7
Nasal security: make directory() use fgValidatePath
...
Being able to list arbitrary directories is a privacy violation;
existing in-fgdata uses of this are all permitted paths
(i.e. not Terrasync; FileSelector doesn't use it)
2016-02-06 21:26:05 +00:00
James Turner
6954360dfa
Merge /u/r-harrison/flightgear/ branch next into next
...
http://sourceforge.net/p/flightgear/flightgear/merge-requests/21/
2015-11-29 21:51:08 +00:00
Richard Harrison
0368e9a003
Fix indentation and use naIsNil to determine if _globals is nil
2015-11-29 19:15:24 +01:00
Rebecca N. Palmer
79f1da6bef
Nasal: use SG_LOG for security error messages to avoid truncation
...
These are often too long for naRuntimeError's 128-char limit:
http://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/55B55856.2030709%40worldwideweb2.nl/#msg34319969
2015-08-14 21:37:28 +01:00
Rebecca N. Palmer
e296ea5fe0
Nasal security: document that symlinks are no longer followed
2015-07-25 10:15:31 +01:00
Richard Harrison
9ba892962c
Closedown crash prevention
2015-04-10 23:51:32 +02:00
Rebecca N. Palmer
a4aff2cb82
remove checkIORules(), replaced by check in fgInitAllowedPaths()
2015-03-13 18:10:31 +00:00
Rebecca N. Palmer
9002696195
Make fgValidatePath always return std::string, not char *
2015-03-13 18:07:24 +00:00
Rebecca N. Palmer
d718d5f3cb
Move Nasal io.open to flightgear, and make it use fgValidatePath
2015-03-13 18:02:46 +00:00
Rebecca N. Palmer
6a30e7086e
Stop using property listener for fgValidatePath
...
This was insecure: while removelistener() won't remove it, there are
other ways to remove a listener from Nasal
2015-03-13 17:54:44 +00:00
Rebecca N. Palmer
193f2a3fbc
Fix hang in Nasal->C++->Nasal calls
...
https://bugs.debian.org/750939
http://sourceforge.net/p/flightgear/mailman/message/32969200/
2015-01-18 22:23:21 +00:00
bcoconni
2122e9eee3
Save a memory allocation each time a property node is wrapped in Nasal. Instead use a direct access to the reference counter and explicitely delete the node if the ref counter is decremented to zero during the ghost destruction.
2014-11-23 14:53:54 +01:00
Thomas Geymayer
0b9e72eb87
Nasal: move IOrules check to better place and exit on failure.
2014-09-19 18:22:47 +02:00
Thomas Geymayer
6713830254
Nasal Timer: prevent warning on restarting oneshot timer in callback.
2014-08-11 00:31:18 +02:00
Thomas Geymayer
a673f4a5f9
Nasal: update for simgear changes.
2014-07-21 00:26:54 +02:00
Thomas Geymayer
f4b7ae5da3
Nasal: md5 is now in simgear.
2014-06-18 15:59:41 +02:00
Thomas Geymayer
cfbf9e7e4e
Nasal: expose md5 function.
2014-06-17 22:33:53 +02:00
Thomas Geymayer
26a4948642
NasalSys: process nasal::Ghost deletion queue.
2014-06-15 16:36:35 +02:00
Thomas Geymayer
4409c8cca6
Expose parse_markdown to Nasal.
2014-06-13 19:16:26 +02:00
Thomas Geymayer
3c0b7f88b8
Updates for simgear nasal::Ghost changes.
2014-06-03 19:00:25 +02:00
Thomas Geymayer
0fc2d57211
Scripting: expose flight history as aircraft.history()
...
var hist = aircraft.history();
debug.dump(hist.pathForHistory(50));
2014-05-10 10:56:09 +02:00
James Turner
b3c7cb7c15
Fix crash with Nasal bindings.
...
naBindFunction doesn't save the function code to the global
hash, so pass an explicit context to various 'call' overloads so
the function can't be GC-ed in between parsing and calling.
(Patch by Nicholas Scheel)
https://code.google.com/p/flightgear-bugs/issues/detail?id=1397
2014-04-15 14:13:46 +01:00
James Turner
070dba29f9
Close dialogs on GUI shutdown
...
- avoids orphaned dialogs on reset
- requires some guards in NasalSys since Nasal is shutdown first, but
dialogs can have Nasal modules.
2014-03-16 22:52:55 +00:00
Torsten Dreyer
aaa7fca621
NasalSys: arg is never null
2014-03-12 22:42:51 +01:00
Thomas Geymayer
88b7d4f530
Update for SGPropertyNode changes.
2014-03-06 00:41:41 +01:00
James Turner
34ed79e5f8
getprop/setprop allows integer indices.
...
As suggested by a long-standing enhancement idea,
extend getprop/setprop to accept multiple args,
including integer arguments. This removes the need
for string concatenation (and hence, allocation)
on the Nasal side.
Patch by Nicholas 'Philosopher' Scheel
2014-02-18 20:07:29 -08:00
Thomas Geymayer
67be73fdde
Expose SGPath to Nasal
2013-12-18 10:30:19 +01:00
James Turner
9c11dfd545
Reset: free nasal-module-listeners on shutdown.
2013-12-03 21:38:45 +00:00
James Turner
d99109c9e4
Reset: do re-init Ghost bindings.
2013-11-24 15:10:00 +00:00
James Turner
0fbc448af0
Nasal changes for reset
...
- reduce use of global context (will die soon)
- replace static wrappedNode ref which breaks reset
2013-11-22 22:52:33 +00:00
bcoconni
139af0026f
Synchronized FG with the removal of 'using std::*' in simgear's easyxml
2013-11-14 22:07:50 +00:00
James Turner
881df711ba
Reset: Nasal can be shutdown.
...
Also guard against duplicate init of cppbind wrapped classes.
2013-11-12 22:47:41 +00:00
James Turner
af6131b556
Bug 1246, Nasal repeating timers fire immediately.
...
Initial delay is passed separately to interval in the
API, oops.
2013-11-09 08:01:57 -08:00
Thomas Geymayer
cf270bde22
Expose HTTP module to Nasal.
2013-10-27 19:39:22 +01:00
Thomas Geymayer
5c38395395
NasalSys: do not print invalid elements for error backtraces.
2013-10-16 23:41:38 +02:00
Thomas Geymayer
26a3573aea
Update/simplify for SimGear changes.
2013-10-15 17:48:13 +02:00
Thomas Geymayer
5c42071fbb
Scripting: get rid of gcHash and use new SimGear/Nasal functions.
2013-10-15 00:58:21 +02:00
James Turner
52e5a9abe8
Reduce amount of log output at level=debug.
2013-09-28 14:47:20 +01:00
James Turner
33425c671d
Support for multiple data dirs.
2013-09-17 07:47:58 +01:00
Tom Paoletti
b27eb2571c
Performance optimization: empty() instead of size()>0
...
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:02:15 +01:00