diff --git a/mail/components/addrbook/content/abContactsPanel.js b/mail/components/addrbook/content/abContactsPanel.js
index 8d1698e1e631..575eb7881e53 100644
--- a/mail/components/addrbook/content/abContactsPanel.js
+++ b/mail/components/addrbook/content/abContactsPanel.js
@@ -39,6 +39,26 @@ function GetAbViewListener()
// the ab panel doesn't care if the total changes, or if the selection changes
return null;
}
+
+
+function contactsListDoubleClick(event)
+{
+ // we only care about button 0 (left click) events
+ if (event.button != 0)
+ return;
+
+ var row = {}, colID = {}, childElt = {};
+ var contactsTree = document.getElementById("abResultsTree");
+ contactsTree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, colID, childElt);
+ if (row.value == -1 || row.value > contactsTree.view.rowCount-1 || event.originalTarget.localName != "treechildren")
+ {
+ // double clicking on a non valid row should not open the edit filter dialog
+ return;
+ }
+
+ // ok, go ahead and add the entry
+ addSelectedAddresses('addr_to');
+}
function addSelectedAddresses(recipientType)
{
diff --git a/mail/components/addrbook/content/abContactsPanel.xul b/mail/components/addrbook/content/abContactsPanel.xul
index 9bd7090b3ce8..53e3ec0a8b24 100644
--- a/mail/components/addrbook/content/abContactsPanel.xul
+++ b/mail/components/addrbook/content/abContactsPanel.xul
@@ -97,14 +97,14 @@
-
+