[Rt-commit] r3438 - in rt/branches/QUEBEC-EXPERIMENTAL: . html/Ticket lib/RT

alexmv at bestpractical.com alexmv at bestpractical.com
Fri Jul 8 13:41:05 EDT 2005


Author: alexmv
Date: Fri Jul  8 13:41:04 2005
New Revision: 3438

Modified:
   rt/branches/QUEBEC-EXPERIMENTAL/   (props changed)
   rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html
   rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Display.html
   rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Ticket_Overlay.pm
Log:
 r4895 at zoq-fot-pik:  chmrr | 2005-07-08 13:41:47 -0400
  * Redirect bug conquered at long last; perlbug #17650 is culprit
  * Removed $RT::Logger->crit(...) debugging calls


Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html	Fri Jul  8 13:41:04 2005
@@ -302,8 +302,6 @@
 
 if ((!exists $ARGS{'AddMoreAttach'}) && ($ARGS{'id'} eq 'new')) { # new ticket?
     $m->comp('Display.html', %ARGS);
-    $RT::Logger->crit("After display call; error is $@");
-    $m->abort();
 }
 </%INIT>
 

Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Display.html
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Display.html	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Display.html	Fri Jul  8 13:41:04 2005
@@ -107,7 +107,6 @@
     unless ($TicketObj->CurrentUserHasRight('ShowTicket')) {
 	Abort("No permission to view newly created ticket #".$TicketObj->id.".");
 	}
-        $RT::Logger->crit("Just created the ticket");
     # }}}
 } else { 
     if (!$TicketObj) {
@@ -153,26 +152,17 @@
 
 
 
-$RT::Logger->crit("About to check for actions to prepare for a redirect");
 if (@Actions) {
-    $RT::Logger->crit("We have actions. time to redirect"); 
     # We've done something, so we need to clear the decks to avoid 
     # resubmission on refresh.
     # But we need to store Actions somewhere too, so we don't lose them.
     $session{"Actions"} = \@Actions;
     $m->redirect($RT::WebURL."/Ticket/Display.html?id=".$TicketObj->id);
-    $RT::Logger->crit("Set up the redirect");
-    $m->abort();
-    $RT::Logger->crit("Aborted. Should never be called");
 } else {
-    $RT::Logger->crit("We're not redirecting. load up some actions if they exist");
     @Actions = @{$session{"Actions"} || [] };
     delete $session{"Actions"};
 }
 
-$RT::Logger->crit("We're past the point where any redirect happens");
-
-
 $m->comp('/Elements/Callback', _CallbackName => 'BeforeDisplay',
 	 TicketObj => \$TicketObj, Tickets => \$Tickets, ARGSRef => \%ARGS);
 

Modified: rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Ticket_Overlay.pm
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Ticket_Overlay.pm	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Ticket_Overlay.pm	Fri Jul  8 13:41:04 2005
@@ -3360,6 +3360,11 @@
 sub DESTROY {
     my $self = shift;
 
+    # DESTROY methods need to localize $@, or it may unset it.  This
+    # causes $m->abort to not bubble all of the way up.  See perlbug
+    # http://rt.perl.org/rt3/Ticket/Display.html?id=17650
+    local $@;
+
     # The following line eliminates reentrancy.
     # It protects against the fact that perl doesn't deal gracefully
     # when an object's refcount is changed in its destructor.


More information about the Rt-commit mailing list