diff --git a/Makefile b/Makefile index 8ee5d6595..c5ae8cc5d 100755 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ distclean: if test -e ".sconf_temp/"; then rm -r ".sconf_temp/"; fi if test -e ".sconsign.dblite"; then rm ".sconsign.dblite"; fi if test -e "config.cache"; then rm "config.cache"; fi - if test -e "config.py"; then rm "config.py"; fi + if test -e "config.py"; then mv "config.py" "config.py.backup"; fi reset: distclean diff --git a/include/mapnik/rule.hpp b/include/mapnik/rule.hpp index 2356ddd02..f13a6dadc 100644 --- a/include/mapnik/rule.hpp +++ b/include/mapnik/rule.hpp @@ -38,6 +38,7 @@ #include #include #include +#include // MAPNIK_DECL // boost #include @@ -127,7 +128,7 @@ typedef boost::variant symbolizer; -class rule +class MAPNIK_DECL rule { public: typedef std::vector symbolizers; diff --git a/src/agg/agg_renderer.cpp b/src/agg/agg_renderer.cpp index df115b28b..6d82b954c 100644 --- a/src/agg/agg_renderer.cpp +++ b/src/agg/agg_renderer.cpp @@ -271,7 +271,10 @@ void agg_renderer::end_style_processing(feature_type_style const& st) } } MAPNIK_LOG_DEBUG(agg_renderer) << "agg_renderer: End processing style"; - mapnik::save_to_file(pixmap_, (boost::format("%02d_style.png") % renderer_pass_).str(),"png"); + // copy pixmap so demultiply will not impact main buffer + mapnik::image_32 pix_tmp = pixmap_; + pix_tmp.demultiply(); + mapnik::save_to_file(pix_tmp, (boost::format("%02d_style.png") % renderer_pass_).str(),"png"); renderer_pass_++; } diff --git a/src/build.py b/src/build.py index 2f7cdadad..6069107e6 100644 --- a/src/build.py +++ b/src/build.py @@ -392,4 +392,5 @@ else: env['create_uninstall_target'](env, target1) env['create_uninstall_target'](env, target) -Depends(mapnik, env.subst('../deps/agg/libagg.a')) +if not env['RUNTIME_LINK'] == 'static': + Depends(mapnik, env.subst('../deps/agg/libagg.a')) diff --git a/src/load_map.cpp b/src/load_map.cpp index 06d78e94a..c900f2039 100644 --- a/src/load_map.cpp +++ b/src/load_map.cpp @@ -670,7 +670,14 @@ void map_parser::parse_layer(Map & map, xml_node const& node) { std::map::const_iterator base_itr = datasource_templates_.find(*base); if (base_itr!=datasource_templates_.end()) + { params = base_itr->second; + } + else + { + MAPNIK_LOG_ERROR(datasource) << "Datasource template '" << *base + << "' not found for layer '" << name << "'"; + } } xml_node::const_iterator paramIter = child->begin(); diff --git a/tests/cpp_tests/build.py b/tests/cpp_tests/build.py index 250233f91..93e7b25ca 100644 --- a/tests/cpp_tests/build.py +++ b/tests/cpp_tests/build.py @@ -20,7 +20,8 @@ for cpp_test in glob.glob('*_test.cpp'): agg_env = Environment(ENV=os.environ) agg_env['CXX'] = env['CXX'] agg_env['CXXFLAGS'] = env['CXXFLAGS'] - agg_env.AppendUnique(LIBS='agg') + if 'agg' in test_env['LIBS']: + agg_env.AppendUnique(LIBS='agg') agg_env.Append(CPPPATH = '#deps/agg/include') agg_env.Append(LIBPATH = '#deps/agg') agg_env['CPPPATH'] = ['#deps/agg/include',env['BOOST_INCLUDES']] diff --git a/tests/data/good_maps/line_symbolizer_offset.xml b/tests/data/good_maps/line_symbolizer_offset.xml new file mode 100644 index 000000000..c796add74 --- /dev/null +++ b/tests/data/good_maps/line_symbolizer_offset.xml @@ -0,0 +1,18 @@ + + + + style + + csv + + wkt,name + "MULTILINESTRING ((10 10, 20 20, 10 40),(40 40, 30 30, 40 20, 30 10))",line + + + + \ No newline at end of file