Bug 653655 - Fix errors when opening List All Tabs menu. r=dolske

This commit is contained in:
Frank Yan 2011-04-28 22:21:13 -07:00
Родитель 4a1b7fa323
Коммит 18abc6b776
2 изменённых файлов: 9 добавлений и 5 удалений

Просмотреть файл

@ -844,9 +844,8 @@
key="key_tabview" key="key_tabview"
label="&viewTabGroups.label;" label="&viewTabGroups.label;"
command="Browser:ToggleTabView" command="Browser:ToggleTabView"
observes="tabviewGroupsNumber" observes="tabviewGroupsNumber"/>
keepme="true"/> <menuseparator id="alltabs-popup-separator"/>
<menuseparator id="alltabs-popup-separator" keepme="true"/>
</menupopup> </menupopup>
</toolbarbutton> </toolbarbutton>

Просмотреть файл

@ -3738,7 +3738,12 @@
var tabstripBO = tabContainer.mTabstrip.scrollBoxObject; var tabstripBO = tabContainer.mTabstrip.scrollBoxObject;
for (var i = 0; i < this.childNodes.length; i++) { for (var i = 0; i < this.childNodes.length; i++) {
var curTabBO = this.childNodes[i].tab.boxObject; let curTab = this.childNodes[i].tab;
if (!curTab) // "Tab Groups" menuitem and its menuseparator
continue;
let curTabBO = curTab.boxObject;
if (!curTabBO) // "Tabs From Other Computers" menuitem
continue;
if (curTabBO.screenX >= tabstripBO.screenX && if (curTabBO.screenX >= tabstripBO.screenX &&
curTabBO.screenX + curTabBO.width <= tabstripBO.screenX + tabstripBO.width) curTabBO.screenX + curTabBO.width <= tabstripBO.screenX + tabstripBO.width)
this.childNodes[i].setAttribute("tabIsVisible", "true"); this.childNodes[i].setAttribute("tabIsVisible", "true");
@ -3815,7 +3820,7 @@
// clear out the menu popup and remove the listeners // clear out the menu popup and remove the listeners
for (let i = this.childNodes.length - 1; i > 0; i--) { for (let i = this.childNodes.length - 1; i > 0; i--) {
let menuItem = this.childNodes[i]; let menuItem = this.childNodes[i];
if (!menuItem.hasAttribute("keepme")) { if (menuItem.tab) {
menuItem.removeEventListener("command", this, false); menuItem.removeEventListener("command", this, false);
menuItem.tab.mCorrespondingMenuitem = null; menuItem.tab.mCorrespondingMenuitem = null;
this.removeChild(menuItem); this.removeChild(menuItem);