Matt Amos
3d7b84a598
Fix deadlock in recursive datasource registration.
...
The datasource cache was taking an exclusive lock on the simple
mutex used to protect the singleton's data pointer. This works
okay when everyone always calls it non-recursively, but when the
recursive flag is true then it will always deadlock when called
on any directory with subdirectories.
Additionally, many methods which accessed private data members of
the cache were not protected by any locks.
Since the call pattern of registering datasources is strictly
tree-shaped then it's a good candidate for a recursive mutex. This
has a slightly higher overhead than a simple mutex, so rather than
change the singleton's mutex to be recursive, I've added a new
instance mutex to the datasource cache.
Also, added a very basic test which reproduces the problem and
shows that it's fixed with this patch.
2015-08-23 20:25:35 +01:00
artemp
f8afa796d7
update test data
2015-08-17 16:56:00 +02:00
artemp
0ba2e3f3f6
update svg tests
2015-08-17 16:53:42 +02:00
artemp
3e3ab2cd4b
update test
2015-08-12 11:35:26 +02:00
artemp
ebf4d66900
Merge branch 'master' into image_filters
2015-08-12 11:27:59 +02:00
artemp
c0e2cf3616
update scons + visual test
2015-08-12 11:18:09 +02:00
artemp
751abba262
add parse_jpeg_quality method + uint test parsing jpegXX and jpeg:quality=XX options
...
ref #3024
2015-08-12 10:29:57 +02:00
Blake Thompson
0b6b11b9cf
Added the ability for filter_image to throw properly with bad input and added the ability for a new image to be returned
2015-08-11 19:22:09 -05:00
Blake Thompson
792e94ae90
Removed image-filter from map object, made it so that premultiplication/demultiplication only took place when correctly required in image filters.
2015-08-11 14:31:29 -05:00
Blake Thompson
a492028f25
Initial commit of changes for image_filters so they can be called outside of agg renderer
2015-08-07 15:54:39 -05:00
Blake Thompson
161469ed63
Fixed an issue with fields over size of int32 in OGR plugin and added tests to cover this situation.
2015-08-05 13:47:17 -05:00
Blake Thompson
ec73b50557
Added ability for image filters to be used on the map object, so that the entire map has an image filter applied. Corrected issues with colorblind algorithms due to incorrect algorithm used as colorspace was required to be in sRGBA rather then RGBA.
2015-08-05 12:35:17 -05:00
Blake Thompson
6245790e72
Added new image filters that allow an image to be viewed in colorblind modes, allow cartographers to see what their maps would appear like to a color blind person
2015-08-04 17:41:31 -05:00
Blake Thompson
f5cf669736
Updated SVG unit test so that it no longer writes to std err. closes #3007
2015-07-31 12:31:54 -05:00
artemp
42bf2303e0
fix parse_double_optional_percent grammar and update tests
2015-07-31 11:35:02 +02:00
artemp
5b04764757
SVG - update tests to work with marker_cache's strict policy
2015-07-31 10:47:30 +02:00
jakepruitt
0cc524aa1c
Adding percentage for linear gradient
2015-07-30 17:35:30 -04:00
jakepruitt
1f7b961901
Update test data
2015-07-30 17:09:26 -04:00
jakepruitt
6f6af87a43
Write invalid parse_string test
2015-07-30 17:05:19 -04:00
jakepruitt
9549a1cc01
Adding tests for radial gradients with percentages
2015-07-30 16:46:27 -04:00
jakepruitt
8982938270
Adding test for gradient xlink:href
...
- refs #3005
2015-07-30 12:48:23 -04:00
artemp
9f4db6c855
use correct define -> HAVE_LIBXML2
2015-07-30 18:30:22 +02:00
artemp
f8fd60dc69
remove libxml includes and init calls
2015-07-30 13:13:53 +02:00
artemp
f75921c7ca
update test + data
2015-07-30 11:09:08 +02:00
jakepruitt
b4bc16751c
Adjusted error message logic for logging path ids
2015-07-29 22:37:30 -04:00
jakepruitt
af27af4af2
Improving svg test coverage
...
- refs #3005
2015-07-29 22:26:28 -04:00
artemp
f3870cc8fe
update test
2015-07-29 16:09:51 +02:00
artemp
d05c13d849
unit test - cope with incorrectly encoded geometries
2015-07-29 15:42:53 +02:00
artemp
0b728e676c
update visual test data
2015-07-28 16:35:50 +02:00
artemp
4ee453ada0
update test data
2015-07-28 10:30:24 +02:00
artemp
42c8da72e9
Merge branch 'master' into svg-parser-errors
2015-07-28 10:29:59 +02:00
Dane Springmeyer
c8370485da
use latest testdata [skip ci]
2015-07-27 19:05:18 -07:00
Dane Springmeyer
0e8887171d
update visual tests after #2988 - e3d79ed493
2015-07-27 17:26:59 -07:00
Dane Springmeyer
c50f72764f
update tests + add #2990 to changelog
2015-07-27 17:09:46 -07:00
Dane Springmeyer
e82de0109d
centralize plugin registration for unit tests
2015-07-27 15:35:00 -07:00
artemp
ec591c1ffa
add bogus stroke-width test
2015-07-24 11:05:58 +02:00
artemp
49d4beec59
fix typo
2015-07-23 15:16:08 +02:00
artemp
e496e24deb
add "Gradients apply to leaf nodes" test and update test data
2015-07-23 12:58:38 +02:00
artemp
158e4b7f87
add missing gradient definition test
2015-07-22 16:34:28 +02:00
artemp
626cb9f47c
add display=none test
2015-07-22 15:28:55 +02:00
artemp
7aa30a211e
SGV tests: <gradient> - update expected path data
2015-07-22 13:32:39 +02:00
artemp
fddc4e0312
update tests
2015-07-22 13:21:17 +02:00
artemp
9eadd48d7b
add tests for no-existing svg file + bogus color in fill
and stroke
2015-07-22 11:52:18 +02:00
artemp
d7cf0d5bca
add parse_id_from_url method
2015-07-21 11:30:04 +02:00
artemp
f19ddf81ba
SVG - add gradient test (ref #2989 )
2015-07-21 10:35:21 +02:00
artemp
61a2ef7ebb
update test data
2015-07-21 10:29:19 +02:00
artemp
27fb4a9e00
update tests
2015-07-20 20:36:31 +02:00
artemp
0625b90067
SVG unit test - add <line> test
...
(http://www.w3.org/TR/SVGTiny12/shapes.html#LineElement )
2015-07-20 17:44:47 +02:00
artemp
fb155a57cd
support compilers that can't construct tuple from initializer list
2015-07-20 17:16:35 +02:00
artemp
6a2d0b9ebf
started adding svg parsing tests to increase test coverage (work-in-progress)
2015-07-20 15:41:35 +02:00