]> git.mxchange.org Git - simgear.git/log
simgear.git
11 years agoWindows logging changes
James Turner [Sat, 26 Oct 2013 20:04:16 +0000 (21:04 +0100)]
Windows logging changes

- can log to the debugger (MSVC output window) via OutputDebugStr
- logging to the console is optional, triggered by new
  requestConsole hook()

11 years agoFix handling of SGPath::rename
James Turner [Sat, 26 Oct 2013 20:03:00 +0000 (21:03 +0100)]
Fix handling of SGPath::rename

Windows handling of ::rename differs from POSIX when the new name
exists. Check for this case on Windows and remove the file manually.
(This allows a work-around in SVNDirectory to be removed)

11 years agocppbind: automatic conversion of SGReferenced derived pointers.
Thomas Geymayer [Fri, 25 Oct 2013 22:40:52 +0000 (00:40 +0200)]
cppbind: automatic conversion of SGReferenced derived pointers.

11 years agoAdd total bytes downloaded tracking.
James Turner [Thu, 24 Oct 2013 22:35:34 +0000 (23:35 +0100)]
Add total bytes downloaded tracking.

11 years agocanvas::Element: add getter for parent element.
Thomas Geymayer [Wed, 23 Oct 2013 15:11:03 +0000 (17:11 +0200)]
canvas::Element: add getter for parent element.

11 years agoOoops, fix INSTALL rule.
James Turner [Wed, 23 Oct 2013 13:18:39 +0000 (14:18 +0100)]
Ooops, fix INSTALL rule.

We need the rule, just not the export, for now.

11 years agoComment out Cmake export experiments for now.
James Turner [Tue, 22 Oct 2013 12:42:59 +0000 (13:42 +0100)]
Comment out Cmake export experiments for now.

This is breaking CMake 2.6, so commenting out for the moment, until
I understand how to support this portably.

11 years agoFix GPS activation on Windows.
James Turner [Mon, 21 Oct 2013 23:42:31 +0000 (00:42 +0100)]
Fix GPS activation on Windows.

Bug 1190, fix route-manager -> GPS activation on Windows
(and probably a couple of unrelated issues).
SGPropertyChangeCallback was missing a suitable copy-constructor,
leading to incorrect behaviour on compilers where the operation
is not elided. Such as MSVC.

11 years agoFix Dir warnings on Windows.
James Turner [Mon, 21 Oct 2013 22:51:19 +0000 (23:51 +0100)]
Fix Dir warnings on Windows.

Test result of GetLastError so we don't log a warning in the
'nothing matched' case. Makes early startup logging much
more pleasant, especially when scanning aircraft dirs.

11 years agoSmoother download rate from HTTP
James Turner [Mon, 21 Oct 2013 22:08:55 +0000 (23:08 +0100)]
Smoother download rate from HTTP

Crude filtering (low pass) of the download rate, over a 400msec
time window.

11 years agoFail HTTP request with missing/illegal protocols.
James Turner [Sun, 20 Oct 2013 22:20:49 +0000 (23:20 +0100)]
Fail HTTP request with missing/illegal protocols.

Instead of throwing, run the failure handler for requests with
either a missing spec or something other than http:// (eg, https
or ftp)

11 years agoPlacement can contain multiple nodes.
James Turner [Sun, 20 Oct 2013 19:44:42 +0000 (20:44 +0100)]
Placement can contain multiple nodes.

- Allow placement to have multiple children added.
- Remove legacy position setting APIs, enforce use of SGGeod

11 years agoAdd SGPropertyNode::setValueReadOnly.
Thomas Geymayer [Sun, 20 Oct 2013 10:03:41 +0000 (12:03 +0200)]
Add SGPropertyNode::setValueReadOnly.

Helper to set value of relative node and mark
read only. Use eg. for exposing configuration
and build values to the property tree.

11 years agoAvoid a divide-by-zero on malformed BTG files.
James Turner [Thu, 17 Oct 2013 19:13:36 +0000 (20:13 +0100)]
Avoid a divide-by-zero on malformed BTG files.

Encountered while testing v850 airports; some airports
generate materials with no tris, and hence no indices.
This causes a divide-by-zero when computing the index stride.

Detect this, and convert the BTG reader to throw exceptions
in error conditions, and to catch this and report the
appropriate result code.

11 years agoFix float-int conversion bug caught by Clang
James Turner [Thu, 17 Oct 2013 19:05:34 +0000 (20:05 +0100)]
Fix float-int conversion bug caught by Clang

11 years agoFix unused-var warnings from Clang.
James Turner [Thu, 17 Oct 2013 19:05:16 +0000 (20:05 +0100)]
Fix unused-var warnings from Clang.

11 years agoTerraysnc: don't block requests when inactive.
James Turner [Thu, 17 Oct 2013 16:29:06 +0000 (17:29 +0100)]
Terraysnc: don't block requests when inactive.

Add the same check for data files so we don't block when terrasync is
disabled.

11 years agoRe-order install(EXPORT ) lines.
James Turner [Thu, 17 Oct 2013 16:12:02 +0000 (17:12 +0100)]
Re-order install(EXPORT ) lines.

Certain cmake builds/versions complain when a dependent target is
exported but dependencies are not. Export SimGearCore before
SimGearScene.

11 years agoInitial work on syncing non-scenery data.
James Turner [Thu, 3 Oct 2013 20:42:18 +0000 (21:42 +0100)]
Initial work on syncing non-scenery data.

This is some initial pieces to synchronise other pieces of base
data than scenery via the sync mechanism. An additional sync slot is
added to avoid scenery or other data blocking each other.

11 years agoRemove some iostream debugging.
James Turner [Thu, 17 Oct 2013 15:33:13 +0000 (16:33 +0100)]
Remove some iostream debugging.

Accidentally committed this debug stuff, remove it.

11 years agoExport SimGear config to cmake.
James Turner [Thu, 17 Oct 2013 15:10:18 +0000 (16:10 +0100)]
Export SimGear config to cmake.

Experimenting with this, should make FindSimGear module unecessary,
and avoid mis-matched SG/FG cmake settings in the future.

11 years agoKill off EMBEDDED_SIMGEAR
James Turner [Thu, 17 Oct 2013 15:09:39 +0000 (16:09 +0100)]
Kill off EMBEDDED_SIMGEAR

11 years agoAdd helper to get osg::Node path as string.
Thomas Geymayer [Thu, 17 Oct 2013 11:28:54 +0000 (13:28 +0200)]
Add helper to get osg::Node path as string.

11 years agoNasal: do not print invalid elements for error backtraces.
Thomas Geymayer [Wed, 16 Oct 2013 21:33:06 +0000 (23:33 +0200)]
Nasal: do not print invalid elements for error backtraces.

11 years agoCanvas: simplify code by using new nasal function conversion.
Thomas Geymayer [Tue, 15 Oct 2013 15:42:49 +0000 (17:42 +0200)]
Canvas: simplify code by using new nasal function conversion.

11 years agocppbind: convert Nasal functions to C++ boost::function.
Thomas Geymayer [Tue, 15 Oct 2013 15:37:57 +0000 (17:37 +0200)]
cppbind: convert Nasal functions to C++ boost::function.

11 years agocppbind: fix bad class hierarchy for bad_nasal_cast.
Thomas Geymayer [Tue, 15 Oct 2013 14:37:50 +0000 (16:37 +0200)]
cppbind: fix bad class hierarchy for bad_nasal_cast.

11 years agoNasal: use correct function pointer in naCall (with user data)
Thomas Geymayer [Tue, 15 Oct 2013 12:21:45 +0000 (14:21 +0200)]
Nasal: use correct function pointer in naCall (with user data)

11 years agoNasal: recursive method calling.
Thomas Geymayer [Tue, 15 Oct 2013 10:05:09 +0000 (12:05 +0200)]
Nasal: recursive method calling.

New functions naCallMethodCtx and naCallMethod to replace
NasalSystem::callMethod from FlightGear. This has just added an
unneeded level of indirection and fits better directly into Nasal.
naSetErrorHandler can be used to register an error handler/logging
function.

11 years agoCanvas: use new naGCSave/naGCRelease functions.
Thomas Geymayer [Mon, 14 Oct 2013 22:49:13 +0000 (00:49 +0200)]
Canvas: use new naGCSave/naGCRelease functions.

11 years agoNasal: add naGCSave/naGCRelease for preventing objects being garbage collected.
Thomas Geymayer [Mon, 14 Oct 2013 22:19:32 +0000 (00:19 +0200)]
Nasal: add naGCSave/naGCRelease for preventing objects being garbage collected.

These new functions are meant to replace the gcSave/gcRelease
methods of the NasalSystem class in FlightGear, as passing an
adapter to SimGear from FlightGear is quite a lot of useless work
just for being able to save objects.

11 years agocppbind: add to_nasal_helper for enums.
Thomas Geymayer [Mon, 14 Oct 2013 21:03:36 +0000 (23:03 +0200)]
cppbind: add to_nasal_helper for enums.

11 years agoHTTP: check url for scheme and report instead of failing with assert.
Thomas Geymayer [Sun, 13 Oct 2013 10:06:17 +0000 (12:06 +0200)]
HTTP: check url for scheme and report instead of failing with assert.

11 years agoDon't let exceptions escape from commands.
Thomas Geymayer [Sun, 13 Oct 2013 10:00:52 +0000 (12:00 +0200)]
Don't let exceptions escape from commands.

11 years agocppbind: Catch exceptions before reaching C code.
Thomas Geymayer [Sun, 13 Oct 2013 09:37:17 +0000 (11:37 +0200)]
cppbind: Catch exceptions before reaching C code.

11 years agoCanvas: allow also C++ callable entities as event callbacks.
Thomas Geymayer [Fri, 11 Oct 2013 22:27:52 +0000 (00:27 +0200)]
Canvas: allow also C++ callable entities as event callbacks.

11 years agoAnother attempt to make MSVC happy!
James Turner [Wed, 9 Oct 2013 10:26:29 +0000 (12:26 +0200)]
Another attempt to make MSVC happy!

C89 requires variable declarations upfront.

11 years agoLinux needs <cstring>
James Turner [Wed, 9 Oct 2013 09:58:51 +0000 (11:58 +0200)]
Linux needs <cstring>

11 years agoFix MSVC build, no C99 so no round().
James Turner [Wed, 9 Oct 2013 09:52:54 +0000 (11:52 +0200)]
Fix MSVC build, no C99 so no round().

(Doesn't use SGMisc<T>::round, since Nasal is pure C)

11 years agoAvoid a data copy decoding base64 data.
James Turner [Sun, 6 Oct 2013 16:43:36 +0000 (18:43 +0200)]
Avoid a data copy decoding base64 data.

Use an out parameter to avoid a buffer alloc/copy/free cycle
when returning base64-decoded data.

11 years agoRefactor HTTP content-encoding support.
James Turner [Sat, 5 Oct 2013 22:26:35 +0000 (23:26 +0100)]
Refactor HTTP content-encoding support.

Move content-encoding handler into its own file, which
simplifies the main code. As part of this, fix a bug where we
didn't flush the ZLIB buffers on response completion.

11 years agoUse std::string.append, avoid string copying.
James Turner [Sat, 5 Oct 2013 22:25:25 +0000 (23:25 +0100)]
Use std::string.append, avoid string copying.

Removes a hot-spot on the SVN update path.

11 years agoMake base64 decode significantly faster.
James Turner [Sat, 5 Oct 2013 22:24:51 +0000 (23:24 +0100)]
Make base64 decode significantly faster.

Use a reverse lookup table instead of a call to string.find for
each input byte, much speedier.

11 years agoCheck for DAV status parse failures.
James Turner [Sat, 5 Oct 2013 22:23:13 +0000 (23:23 +0100)]
Check for DAV status parse failures.

11 years agoReset: Nasal additions to force GC, clear saved refs.
James Turner [Sun, 6 Oct 2013 17:11:50 +0000 (19:11 +0200)]
Reset: Nasal additions to force GC, clear saved refs.

11 years agoReset: event manager can be unbound.
James Turner [Sun, 6 Oct 2013 17:08:54 +0000 (19:08 +0200)]
Reset: event manager can be unbound.

11 years agoReset: model placement can drop OSG nodes.
James Turner [Sun, 6 Oct 2013 17:07:54 +0000 (19:07 +0200)]
Reset: model placement can drop OSG nodes.

11 years agoReset: model lib can drop static root.
James Turner [Sat, 27 Jul 2013 13:46:27 +0000 (14:46 +0100)]
Reset: model lib can drop static root.

11 years agocmake: prevent Boost barfing out too many warns
Stanislaw Halik [Wed, 2 Oct 2013 18:35:38 +0000 (20:35 +0200)]
cmake: prevent Boost barfing out too many warns

11 years agofix static build with recent GNU binutils
Stanislaw Halik [Wed, 2 Oct 2013 15:18:21 +0000 (17:18 +0200)]
fix static build with recent GNU binutils

Signed-off-by: Stanislaw Halik <sthalik@misaki.pl>
11 years agoExtend built-in Nasal math.
James Turner [Thu, 3 Oct 2013 16:40:17 +0000 (17:40 +0100)]
Extend built-in Nasal math.

- rename mod() to fmod() to prevent collisions with the
version in math.nas (which has different handling of negatives)
- implement pow, tan, acos and asin natively
- add round(x, [p]), which rounds away from 0.0, and takes an
option precision. I.e you can round(479, 50) and get '500'; useful
in many digital cockpit displays.

11 years agoRename WaitingSyncItem -> SyncItem.
James Turner [Mon, 30 Sep 2013 20:59:18 +0000 (21:59 +0100)]
Rename WaitingSyncItem -> SyncItem.

More accurate name (we have these for items which are not waiting),
and also shorter.

11 years agoFix a signed/unsigned compare warning
James Turner [Mon, 30 Sep 2013 15:44:04 +0000 (16:44 +0100)]
Fix a signed/unsigned compare warning

11 years agoExpose active tiles via API, sync by SGBucket.
James Turner [Mon, 30 Sep 2013 11:11:29 +0000 (12:11 +0100)]
Expose active tiles via API, sync by SGBucket.

Provide an API to query which tiles are currently being synced. This
allows the higher levels (TileManager in FlightGear) to safely wait on
TerraSync before loading tiles.

Doing this exposed some bugs in scheduling tiles to sync by integer
lat/lon, related to round-towards-zero with -ve values (western /
souther hemispheres). To resolve these, and also reduce spurious
syncs, switch to an explicit API for requesting tiles by SGBucket.
This keeps TerraSync fully aligned with the TileManager queue, which
has many benefits for both high and low visibility situations.

11 years agoSay which ocean tile we generated.
James Turner [Mon, 30 Sep 2013 11:08:10 +0000 (12:08 +0100)]
Say which ocean tile we generated.

11 years agosprintf -> snprintf in bucket code.
James Turner [Mon, 30 Sep 2013 11:07:57 +0000 (12:07 +0100)]
sprintf -> snprintf in bucket code.

11 years agoMake code quieter at log-level=DEBUG.
James Turner [Sat, 28 Sep 2013 13:45:30 +0000 (14:45 +0100)]
Make code quieter at log-level=DEBUG.

11 years agoHTTP: adjust request-connection assignment.
James Turner [Sat, 28 Sep 2013 13:03:39 +0000 (14:03 +0100)]
HTTP: adjust request-connection assignment.

Prefer existing, idle connections to creating new connections,
even when below the max-connection limit. Gives much better re-use
and pipeline-ing, and hence reduced setup time/trips.

11 years agoReposition hook for terrasync.
James Turner [Fri, 27 Sep 2013 19:28:43 +0000 (20:28 +0100)]
Reposition hook for terrasync.

When re-init-ing the sim, tell TerraSync what's going on (we don't want
to actually reset it, since that would disturb in-flight downloads).
Add an explicit method so it can reset its last lon/lat, and hence do
the initial sync at the new location correctly.

11 years agoTerrasync: Expose transfer rate as a property.
James Turner [Fri, 27 Sep 2013 17:23:51 +0000 (18:23 +0100)]
Terrasync: Expose transfer rate as a property.

11 years agoHTTP bugfix + enhancement.
James Turner [Fri, 27 Sep 2013 17:20:03 +0000 (18:20 +0100)]
HTTP bugfix + enhancement.

Track 'waiting for response' state explicitly, so we don't
falsely report IDLE when waiting for a response.

Expose bytes-per-second download rate as metric.

11 years agoAllow TerraSync to be inited early.
James Turner [Thu, 26 Sep 2013 11:11:48 +0000 (12:11 +0100)]
Allow TerraSync to be inited early.

Add explicit subsystem state tracking so we can safely init()
terrasync very early during startup, and hence overlap lengthy operations
(Shared Models sync and initial NavCache build)

11 years agoParallel sync of items.
James Turner [Wed, 25 Sep 2013 15:31:10 +0000 (16:31 +0100)]
Parallel sync of items.

When using built-in sync code, separate items into distinct slots.
Slots process items sequentially, but each slot works in parallel (using
a single shared HTTP engine). This allows tiles to be synced in parallel
with airports/shared models data, greatly increasing responsiveness
to get tiles synced on initial launch.

11 years agoRename WaitingTile to WaitingSyncItem.
James Turner [Mon, 23 Sep 2013 17:20:16 +0000 (18:20 +0100)]
Rename WaitingTile to WaitingSyncItem.

We already synchronise other things besides tiles, and will soon want different
behaviour based on the type of item we're syncing (so we can synchronize some items in parallel). Rename the struct to be clearer, and add an enum encoding the type of item for future use.

11 years agoLibsvn / APR dependency is removed.
James Turner [Mon, 23 Sep 2013 17:05:37 +0000 (18:05 +0100)]
Libsvn / APR dependency is removed.

Remove any use of libsubversion / API in Simgear, and always
compile the built-in SVN client code.

11 years agoFix no-svn build (Win64 only at present)
James Turner [Fri, 20 Sep 2013 08:18:43 +0000 (09:18 +0100)]
Fix no-svn build (Win64 only at present)

11 years agoAttempting to fix import/export linkage on Windows.
James Turner [Thu, 19 Sep 2013 21:07:41 +0000 (22:07 +0100)]
Attempting to fix import/export linkage on Windows.

Hopefully this tells the Expat headers not to do any clever
declspec(import) or export stuff, which we don't want since we only
use the symbols within SimGearCore, and don't export them.

11 years agoEven more forcing of include file names.
James Turner [Thu, 19 Sep 2013 20:58:23 +0000 (21:58 +0100)]
Even more forcing of include file names.

(It's a good thing Windows doesn't ship Expat, since apparently
every other platform does)

11 years agoChange got lost in the move/rename, not good.
James Turner [Thu, 19 Sep 2013 20:47:40 +0000 (21:47 +0100)]
Change got lost in the move/rename, not good.

11 years agoIntermediate static libs have issues.
James Turner [Thu, 19 Sep 2013 20:42:28 +0000 (21:42 +0100)]
Intermediate static libs have issues.

Switch back to including the bundled expat sources directly in the
targets, since transitive linking of static libs is very awkward.
Makes static build happy again (let's see what else breaks)

11 years agoMove bundled Expat to new home.
James Turner [Thu, 19 Sep 2013 19:12:32 +0000 (20:12 +0100)]
Move bundled Expat to new home.

Renamed bundled Expat headers to avoid any
possibility of accidental including system headers when
using bundled Expat, or vice-versa. Should help with SVN
crashes reported by Thomas.

11 years agorand(), not random(), for Windows.
James Turner [Thu, 19 Sep 2013 07:57:34 +0000 (08:57 +0100)]
rand(), not random(), for Windows.

11 years agoFix HTTP unit test.
James Turner [Wed, 18 Sep 2013 21:55:11 +0000 (22:55 +0100)]
Fix HTTP unit test.

Also fix a signed/unsigned warning I caused.

11 years agoFix missing include for non-Mac
James Turner [Wed, 18 Sep 2013 21:13:04 +0000 (22:13 +0100)]
Fix missing include for non-Mac

11 years agoPersistent SVN update cache.
James Turner [Mon, 24 Jun 2013 06:46:27 +0000 (07:46 +0100)]
Persistent SVN update cache.

Make the already present cache of updated URLs persistent, with a
definable lifetime, currently 24 hours. This ensures terrasync-ed
resources are checked less often (max once per day) instead of each
FGFS launch, which should greatly cut down requests to the backend.

11 years agoHTTP Client improvements
James Turner [Tue, 25 Jun 2013 06:55:20 +0000 (07:55 +0100)]
HTTP Client improvements

- max connections limit, and parallel connections to a single host where possible.
  (Will permit updating terrain and Models / Airports / data in parallel)
- add LGPL headers
- give HTTP::Client a private impl class, to keep header simple.

11 years agoKill legacy PPM support in screen-dump
James Turner [Wed, 18 Sep 2013 11:17:29 +0000 (12:17 +0100)]
Kill legacy PPM support in screen-dump

11 years agoPrintf format sanitising.
James Turner [Sun, 15 Sep 2013 12:30:12 +0000 (13:30 +0100)]
Printf format sanitising.

Refactored version for next, use a new helper in
simgear::strutils.

11 years agoBah, tested on the wrong compiler, so missed a file.
James Turner [Sat, 14 Sep 2013 17:05:53 +0000 (18:05 +0100)]
Bah, tested on the wrong compiler, so missed a file.

11 years agoPrefix GCC version constant.
James Turner [Sat, 14 Sep 2013 16:29:59 +0000 (17:29 +0100)]
Prefix GCC version constant.

From: Markus Wanner <markus@bluegap.ch>

11 years agoRemove temporary file and add to .gitignore
Thomas Geymayer [Sat, 7 Sep 2013 12:28:46 +0000 (14:28 +0200)]
Remove temporary file and add to .gitignore

11 years agoRename MD5 code.
James Turner [Wed, 4 Sep 2013 07:43:20 +0000 (08:43 +0100)]
Rename MD5 code.

Linux crashes with this code seem to relate
to multiple instances of these symbols. Prefix
the SimGear versions to prove/disprove this.

11 years agoEnsure sglog() singleton is threadsafe.
James Turner [Wed, 4 Sep 2013 07:32:05 +0000 (08:32 +0100)]
Ensure sglog() singleton is threadsafe.

Slightly simplistic, but definitiely correct, method
for ensuring singleton creation is threadsafe. Can
be optimised if lock contention is ever an issue.

11 years agoTweak for 64-bit Linux linkage.
James Turner [Wed, 4 Sep 2013 07:31:29 +0000 (08:31 +0100)]
Tweak for 64-bit Linux linkage.

11 years agoSG part of fix for TerraSync models.
James Turner [Thu, 29 Aug 2013 21:13:43 +0000 (22:13 +0100)]
SG part of fix for TerraSync models.

Ensure we search the TerraSync models tree before the FG_ROOT one,
since the TerraSync one contains newer files and updates to the base
one.

11 years agoFix #1163
Thomas Geymayer [Sat, 17 Aug 2013 15:47:23 +0000 (17:47 +0200)]
Fix #1163

11 years agoPerformance optimization: empty() instead of size()>0
Tom Paoletti [Fri, 22 Mar 2013 02:27:30 +0000 (19:27 -0700)]
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.

11 years agoNo need to deal with OSG versions pre 3.0
James Turner [Mon, 29 Jul 2013 21:53:31 +0000 (22:53 +0100)]
No need to deal with OSG versions pre 3.0

11 years agoHTTP SVN fixes, cap max update-report depth.
James Turner [Sun, 28 Jul 2013 20:07:40 +0000 (21:07 +0100)]
HTTP SVN fixes, cap max update-report depth.

11 years agoBetter reporting when an HTTP request fails.
James Turner [Sun, 28 Jul 2013 20:06:17 +0000 (21:06 +0100)]
Better reporting when an HTTP request fails.

11 years agoCanvas: ensure render order equals order in property tree.
Thomas Geymayer [Fri, 26 Jul 2013 21:31:44 +0000 (23:31 +0200)]
Canvas: ensure render order equals order in property tree.

Prevents also changing the render order if changing eg. the size
of a Canvas.

11 years agoFix for #587, crash on break/continue.
James Turner [Tue, 23 Jul 2013 20:58:38 +0000 (21:58 +0100)]
Fix for #587, crash on break/continue.

Look for use of break/continue outside of a loop context,
and report a parser error instead of crashed. Thanks to
Philosopher for the patch.

11 years agoInitialise token precedence rule.
James Turner [Tue, 23 Jul 2013 20:51:47 +0000 (21:51 +0100)]
Initialise token precedence rule.

Thanks to Philosopher for the catch.

11 years agoBug 585, assignment to multiple l-values.
James Turner [Tue, 23 Jul 2013 08:44:53 +0000 (09:44 +0100)]
Bug 585, assignment to multiple l-values.

Disambiguate multiple-values from function invocation. Will merge
to release branch after testing.

11 years agoBug 737, crash parsing default args.
James Turner [Tue, 23 Jul 2013 08:43:08 +0000 (09:43 +0100)]
Bug 737, crash parsing default args.

Reject function evaluation explicitly when building
default arguments.

11 years agoCanvas: Ensure all element types are initialized before first usage.
Thomas Geymayer [Sat, 20 Jul 2013 13:45:02 +0000 (15:45 +0200)]
Canvas: Ensure all element types are initialized before first usage.

If setting properties on a group a check is performed if
this property exists on any possible child element, and
only if this is the case the property is stored in the
groups style.

Previously elements have been only initialized during
their first usage, leading to ignored styles if they
have been set on a parent element before instantiating
an instance of the actual element type.

11 years agoCanvas::Text: add line-height property.
Thomas Geymayer [Fri, 19 Jul 2013 21:38:08 +0000 (23:38 +0200)]
Canvas::Text: add line-height property.

11 years agoCanvas: clip region rounding and catch negative size.
Thomas Geymayer [Fri, 19 Jul 2013 21:37:04 +0000 (23:37 +0200)]
Canvas: clip region rounding and catch negative size.

11 years agoCanvas: don't crash with invalid clip rect
Thomas Geymayer [Thu, 18 Jul 2013 13:35:44 +0000 (15:35 +0200)]
Canvas: don't crash with invalid clip rect

11 years agocanvas::Element: Fix bounding box calculation of groups
Thomas Geymayer [Thu, 18 Jul 2013 12:15:57 +0000 (14:15 +0200)]
canvas::Element: Fix bounding box calculation of groups