diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-04-01 16:52:36 +0200 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2018-04-01 16:52:36 +0200 |
commit | ab229b9a828b77f8a3b9ce215f0dfed4c84d4ae5 (patch) | |
tree | 483da9c8b66f4444bb8a410e3d599c7484ad721e /Bugzilla/Error.pm | |
parent | daa2d6b1c40354ecce0e48e6c5ee686efe642c4b (diff) | |
parent | 2f8b999750cc700faf03c6aee1c53d1fc4df767f (diff) | |
download | bugzilla-ab229b9a828b77f8a3b9ce215f0dfed4c84d4ae5.tar.gz bugzilla-ab229b9a828b77f8a3b9ce215f0dfed4c84d4ae5.tar.xz |
Merge branch 'master' into unstable
Diffstat (limited to 'Bugzilla/Error.pm')
-rw-r--r-- | Bugzilla/Error.pm | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Bugzilla/Error.pm b/Bugzilla/Error.pm index e7a99dba0..d67571848 100644 --- a/Bugzilla/Error.pm +++ b/Bugzilla/Error.pm @@ -38,15 +38,14 @@ sub _in_eval { sub _throw_error { my ($name, $error, $vars) = @_; - my $dbh = Bugzilla->dbh; $vars ||= {}; - $vars->{error} = $error; # Make sure any transaction is rolled back (if supported). # If we are within an eval(), do not roll back transactions as we are # eval'uating some test on purpose. - $dbh->bz_rollback_transaction() if ($dbh->bz_in_transaction() && !_in_eval()); + my $dbh = eval { Bugzilla->dbh }; + $dbh->bz_rollback_transaction() if ($dbh && $dbh->bz_in_transaction() && !_in_eval()); my $datadir = bz_locations()->{'datadir'}; # If a writable $datadir/errorlog exists, log error details there. @@ -191,10 +190,9 @@ sub ThrowCodeError { sub ThrowTemplateError { my ($template_err) = @_; - my $dbh = Bugzilla->dbh; - + my $dbh = eval { Bugzilla->dbh }; # Make sure the transaction is rolled back (if supported). - $dbh->bz_rollback_transaction() if $dbh->bz_in_transaction(); + $dbh->bz_rollback_transaction() if $dbh && $dbh->bz_in_transaction(); if (blessed($template_err) && $template_err->isa('Template::Exception')) { my $type = $template_err->type; |