From 4aa80105ca4469ddbcf9537eee47a067e184bc7d Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Mon, 19 Jul 2010 23:27:56 +0200 Subject: [PATCH] Fix possible property access on undefined object PopupMenuManager allows the insertion of menu without a sourceActor (or with a null one), but never checks before calling contains() on it. https://bugzilla.gnome.org/show_bug.cgi?id=622730 --- js/ui/popupMenu.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 8ac9ef65b..2826edd0f 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -499,13 +499,14 @@ PopupMenuManager.prototype = { let src = event.get_source(); return this._activeMenu != null && (this._activeMenu.actor.contains(src) || - this._activeMenu.sourceActor.contains(src)); + (this._activeMenu.sourceActor && this._activeMenu.sourceActor.contains(src))); }, _eventIsOnAnyMenuSource: function(event) { let src = event.get_source(); for (let i = 0; i < this._menus.length; i++) { - if (this._menus[i].sourceActor.contains(src)) + let menu = this._menus[i]; + if (menu.sourceActor && menu.sourceActor.contains(src)) return true; } return false;