X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/1e16ab178d3cfa60818b5a64c35357735e985504..fdb5da46b0122d9cb4b2611526c6c955478a80cf:/IkiWiki/Plugin/editdiff.pm

diff --git a/IkiWiki/Plugin/editdiff.pm b/IkiWiki/Plugin/editdiff.pm
index 2a70ca0b8..f5d7837fc 100644
--- a/IkiWiki/Plugin/editdiff.pm
+++ b/IkiWiki/Plugin/editdiff.pm
@@ -9,10 +9,19 @@ use HTML::Entities;
 use IPC::Open2;
 
 sub import { #{{{
+	hook(type => "getsetup", id => "editdiff", call => \&getsetup);
 	hook(type => "formbuilder_setup", id => "editdiff",
 		call => \&formbuilder_setup);
 } #}}}
 
+sub getsetup () { #{{{
+	return
+		plugin => {
+			safe => 1,
+			rebuild => 0,
+		},
+} #}}}
+
 sub diff ($$) { #{{{
 	my $orig=shift;
 	my $content=shift;
@@ -46,12 +55,11 @@ sub diff ($$) { #{{{
 sub formbuilder_setup { #{{{
 	my %params=@_;
 	my $form=$params{form};
-	my $page=$form->field("page");
 
-	return if $form->title ne "editpage"
-	          || $form->field("do") ne "edit";
+	return if ! defined $form->field("do") || $form->field("do") ne "edit";
 
-	$page = IkiWiki::titlepage(IkiWiki::possibly_foolish_untaint($page));
+	my $page=$form->field("page");
+	$page = IkiWiki::possibly_foolish_untaint($page);
 	return unless exists $pagesources{$page};
 
 	push @{$params{buttons}}, "Diff";