diff --git a/mozilla/testing/mochitest/tests/test_bug360220.xul b/mozilla/testing/mochitest/tests/test_bug360220.xul
new file mode 100644
index 00000000000..ec7007a0477
--- /dev/null
+++ b/mozilla/testing/mochitest/tests/test_bug360220.xul
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+ Test for Bug 360220
+
+
+
+
+Mozilla Bug 360220
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mozilla/toolkit/content/widgets/menulist.xml b/mozilla/toolkit/content/widgets/menulist.xml
index a54548e931a..7a1fa166910 100644
--- a/mozilla/toolkit/content/widgets/menulist.xml
+++ b/mozilla/toolkit/content/widgets/menulist.xml
@@ -47,7 +47,7 @@
-
+
this.setInitialSelection()
@@ -184,8 +184,10 @@
if (val && !this.contains(val))
return val;
- if (oldval)
+ if (oldval) {
oldval.removeAttribute('selected');
+ oldval.removeEventListener("DOMAttrModified", this, false);
+ }
this.mSelectedInternal = val;
if (val) {
@@ -194,6 +196,7 @@
this.setAttribute('image', val.getAttribute('image'));
this.setAttribute('label', val.getAttribute('label'));
this.setAttribute('description', val.getAttribute('description'));
+ val.addEventListener("DOMAttrModified", this, false);
}
else {
this.removeAttribute('value');
@@ -215,6 +218,25 @@
+
+
+
+
+
+
+
@@ -294,6 +316,13 @@
]]>
+
+
+
+