From 7794ae1387c1f96d0e7a3e73e3fb3729649f1621 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 06 Jul 2012 05:10:26 -0400
Subject: [PATCH] Fix connection error alerts when page unloads (#1488547)

---
 CHANGELOG         |    1 +
 program/js/app.js |    6 ++++++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 570cbdf..df097a7 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix 'no connection' errors on page unloads (#1488547)
 - Plugin API: Add 'unauthenticated' hook (#1488138)
 - Show explicit error message when provided hostname is invalid (#1488550)
 - Fix wrong compose screen elements focus in IE9 (#1488541)
diff --git a/program/js/app.js b/program/js/app.js
index a2307fd..ca77a8d 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -58,6 +58,8 @@
     beforeSend: function(xmlhttp){ xmlhttp.setRequestHeader('X-Roundcube-Request', ref.env.request_token); }
   });
 
+  $(window).bind('beforeunload', function() { rcmail.unload = true; });
+
   // set environment variable(s)
   this.set_env = function(p, value)
   {
@@ -6168,6 +6170,10 @@
     this.set_busy(false, null, lock);
     request.abort();
 
+    // don't display error message on page unload (#1488547)
+    if (this.unload)
+      return;
+
     if (request.status && errmsg)
       this.display_message(this.get_label('servererror') + ' (' + errmsg + ')', 'error');
     else if (status == 'timeout')

--
Gitblit v1.9.1