popupMenu: do not overflow the currentItems
Do not overflow currentItems array. If the Menu section is filled via model items-changed callback the position in the model passed to the RemoteMenu _modelChanged can be a to be added asynchronously action-added. Thus the item does not yet exists in the currentItems. https://bugzilla.gnome.org/show_bug.cgi?id=676447
This commit is contained in:
parent
cc9d53e038
commit
f850e92524
@ -1920,7 +1920,7 @@ const RemoteMenu = new Lang.Class({
|
||||
while (k0 < currentItems.length && currentItems[k0]._ignored)
|
||||
k0++;
|
||||
// find the right menu item matching the model item
|
||||
for (j0 = 0; j0 < position; j0++, k0++) {
|
||||
for (j0 = 0; k0 < currentItems.length && j0 < position; j0++, k0++) {
|
||||
if (currentItems[k0]._ignored)
|
||||
k0++;
|
||||
}
|
||||
@ -1930,7 +1930,7 @@ const RemoteMenu = new Lang.Class({
|
||||
for (k = k0; k < currentItems.length; k++)
|
||||
currentItems[k].destroy();
|
||||
} else {
|
||||
for (j = j0, k = k0; j < j0 + removed; j++, k++) {
|
||||
for (j = j0, k = k0; k < currentItems.length && j < j0 + removed; j++, k++) {
|
||||
currentItems[k].destroy();
|
||||
|
||||
if (currentItems[k]._ignored)
|
||||
|
Loading…
Reference in New Issue
Block a user