From d608088a64e961409e9b201fe83d050e7bfb90e3 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 25 Mar 2013 14:49:13 -0400
Subject: [PATCH] Fix saving draft just after entering compose window (#1489012)

---
 program/js/app.js |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index 1d77e05..87cdf3b 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -178,6 +178,11 @@
       parent.rcmail.env.frame_lock = null;
     }
 
+    // Makes that reference to document.activeElement do not throw
+    // "unspecified error" in IE9 (#1489008)
+    if (this.env.framed && bw.ie)
+      document.documentElement.focus();
+
     // enable general commands
     this.enable_command('close', 'logout', 'mail', 'addressbook', 'settings', 'save-pref', 'compose', 'undo', 'about', 'switch-task', true);
 
@@ -944,8 +949,8 @@
         // Reset the auto-save timer
         clearTimeout(this.save_timer);
 
-        // compose form did not change
-        if (this.cmp_hash == this.compose_field_hash()) {
+        // compose form did not change (and draft wasn't saved already)
+        if (this.draft_saved && this.cmp_hash == this.compose_field_hash()) {
           this.auto_save_start();
           break;
         }
@@ -3340,6 +3345,7 @@
 
   this.set_draft_id = function(id)
   {
+    this.draft_saved = id;
     $("input[name='_draft_saveid']").val(id);
   };
 

--
Gitblit v1.9.1