From fc8b22c615c119402e49d8f41cec20ea9809a0c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= <gabor@hojtsy.hu>
Date: Thu, 20 Dec 2007 11:57:20 +0000
Subject: [PATCH] #196630 by yched: postpone warning message display until
 batch finished, so messages are not forgotten on non-JS batches

---
 includes/batch.inc | 2 +-
 update.php         | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/includes/batch.inc b/includes/batch.inc
index cced0b4267f6..cd2127f0be42 100644
--- a/includes/batch.inc
+++ b/includes/batch.inc
@@ -133,7 +133,7 @@ function _batch_progress_page_nojs() {
     // followed by the error message.
     ob_start();
     $fallback = $current_set['error_message'] .'<br/>'. $batch['error_message'];
-    $fallback = theme('maintenance_page', $fallback, FALSE);
+    $fallback = theme('maintenance_page', $fallback, FALSE, FALSE);
 
     // We strip the end of the page using a marker in the template, so any
     // additional HTML output by PHP shows up inside the page rather than
diff --git a/update.php b/update.php
index 6ade05465724..4c9a18290941 100644
--- a/update.php
+++ b/update.php
@@ -723,5 +723,7 @@ function update_task_list($active = NULL) {
   $output = update_access_denied_page();
 }
 if (isset($output) && $output) {
-  print theme('update_page', $output);
+  // We defer the display of messages until all updates are done.
+  $progress_page = ($batch = batch_get()) && isset($batch['running']);
+  print theme('update_page', $output, !$progress_page);
 }
-- 
GitLab