From 60ef4b19657fb46492135b342a34435b891a80ef Mon Sep 17 00:00:00 2001 From: Philippe Gauthier Date: Thu, 2 Aug 2012 20:29:32 +0000 Subject: [PATCH] Fix incorrect URL pointing to the generated waypoint files by calling will_render() before first call to urlto(). Fixes http://ikiwiki.info/bugs/osm_linkto__40____41___usage_breaks_map_rendering/ (cherry picked from commit 691312225789ff6cd5e3fcc4979c076791d67452) --- IkiWiki/Plugin/osm.pm | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/IkiWiki/Plugin/osm.pm b/IkiWiki/Plugin/osm.pm index c9c5646c4..e96a12837 100644 --- a/IkiWiki/Plugin/osm.pm +++ b/IkiWiki/Plugin/osm.pm @@ -62,6 +62,25 @@ sub getsetup () { }, } +sub register_rendered_files { + my $map = shift; + my $page = shift; + my $dest = shift; + + if ($page eq $dest) { + my %formats = get_formats(); + if ($formats{'GeoJSON'}) { + will_render($page, "$map/pois.json"); + } + if ($formats{'CSV'}) { + will_render($page, "$map/pois.txt"); + } + if ($formats{'KML'}) { + will_render($page, "$map/pois.kml"); + } + } +} + sub preprocess { my %params=@_; my $page = $params{page}; @@ -98,6 +117,8 @@ sub preprocess { ); } + register_rendered_files($map, $page, $dest); + $pagestate{$page}{'osm'}{$map}{'displays'}{$name} = { height => $height, width => $width, @@ -150,18 +171,7 @@ sub process_waypoint { } $icon = urlto($icon, $dest, 1); $tag = '' unless $tag; - if ($page eq $dest) { - my %formats = get_formats(); - if ($formats{'GeoJSON'}) { - will_render($page, "$map/pois.json"); - } - if ($formats{'CSV'}) { - will_render($page, "$map/pois.txt"); - } - if ($formats{'KML'}) { - will_render($page, "$map/pois.kml"); - } - } + register_rendered_files($map, $page, $dest); $pagestate{$page}{'osm'}{$map}{'waypoints'}{$name} = { page => $page, desc => $desc, -- 2.39.5