aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2011-03-24 17:55:03 -0400
committerJoey Hess <joey@kitenet.net>2011-03-24 17:55:03 -0400
commitf39d02583abee54d1c7792dcc171db6bba226091 (patch)
tree30bb727a99d85a674d8fd42080ae8119151f80b6 /IkiWiki/Plugin
parent9f7f12809041ab70fdde1f9695d450c64b1ca675 (diff)
downloadikiwiki-f39d02583abee54d1c7792dcc171db6bba226091.tar
ikiwiki-f39d02583abee54d1c7792dcc171db6bba226091.tar.gz
avoid stomping on inline's rootpage sub if it's not already present
If the inline plugin is not being loaded, or is perhaps loaded after po (when IkiWiki::Setup::getsetup loads all the plugins, for example), po should not inject its custom rootpage sub, as that will lead to a redefinition error message when inline loads.
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/po.pm7
1 files changed, 5 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 4f8d5036e..0ea35b21c 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -66,8 +66,11 @@ sub import {
inject(name => "IkiWiki::urlto", call => \&myurlto);
$origsubs{'cgiurl'}=\&IkiWiki::cgiurl;
inject(name => "IkiWiki::cgiurl", call => \&mycgiurl);
- $origsubs{'rootpage'}=\&IkiWiki::rootpage;
- inject(name => "IkiWiki::rootpage", call => \&myrootpage);
+ if (IkiWiki->can('rootpage')) {
+ $origsubs{'rootpage'}=\&IkiWiki::rootpage;
+ inject(name => "IkiWiki::rootpage", call => \&myrootpage)
+ if defined $origsubs{'rootpage'};
+ }
$origsubs{'isselflink'}=\&IkiWiki::isselflink;
inject(name => "IkiWiki::isselflink", call => \&myisselflink);
}