summaryrefslogtreecommitdiff
path: root/extra/gnome-shell/popupmenu.patch
blob: 035432cd563e729bc48cfad213c66b3e7999eaa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
From dd8ca024254341258a9e54c253c080f25be6f9cd Mon Sep 17 00:00:00 2001
From: Florian Müllner <fmuellner@gnome.org>
Date: Tue, 14 May 2013 16:55:08 +0000
Subject: PopupMenuManager: Fix child menus

Since commit c84dc6254d2d65c, popup menus are closed automatically
when another menu opens (to catch the case where a menu is opened
by keyboard shortcut, which wasn't handled before). However in the
case of child menus, both child and parent are expected to be visible,
so handle this case explicitly.

https://bugzilla.gnome.org/show_bug.cgi?id=699678
---
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index fc37dd8..ab6c795 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -2124,7 +2124,7 @@ const PopupMenuManager = new Lang.Class({
 
     _onMenuOpenState: function(menu, open) {
         if (open) {
-            if (this.activeMenu)
+            if (this.activeMenu && !this.activeMenu.isChildMenu(menu))
                 this.activeMenu.close(BoxPointer.PopupAnimation.FADE);
             this._grabHelper.grab({ actor: menu.actor, modal: true, focus: menu.sourceActor,
                                     onUngrab: Lang.bind(this, this._closeMenu, menu) });
--
cgit v0.9.1