summaryrefslogtreecommitdiff
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
parent9f7f12809041ab70fdde1f9695d450c64b1ca675 (diff)
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.
-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);
}