Menus for parent window are still present when dialog is focused

Bug #705653 reported by Jean-Baptiste Lallement
46
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Application Menu Indicator
Confirmed
Medium
Unassigned
Unity
Invalid
Medium
Neil J. Patel
Unity Foundations
Invalid
Undecided
Unassigned
unity-2d
Invalid
Undecided
Unassigned
indicator-appmenu (Ubuntu)
Triaged
High
Canonical Desktop Experience Team

Bug Description

Binary package hint: unity

When a modal dialog is shown the user must not be able to interact with the menu of the main window, this breaks the workflow of the application.

Test Case:
- Launch gedit
- Enter some text in the text area
- Close gedit
    -> The "Save changes ..." dialog is displayed
- In the global menu select "Search / Find..."
    -> This opens the search dialog but you can't interact with it because a modal dialog is opened.

The menu should be disabled in this situation to prevent this kind of action.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: unity 3.2.12-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.37-12.26-generic 2.6.37
Uname: Linux 2.6.37-12-generic i686
Architecture: i386
CompizPlugins: No value set for `/apps/compiz-1/general/allscreens/options/active_plugins'
CompositorRunning: compiz
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: Off
 modes: 1280x800
 edid-base64: AP///////wAGEF6cAAAAAAkQAQOAHRN4CmUhn1hVhyopUFQAAAABAQEBAQEBAQEBAQEBAQEBvBsAoFAgFzAwIDYAHrIQAAAYAAAAAQAGECAAAAAAAAAAAAogAAAA/gBOMTMzSTEtTDAxCiAgAAAA/ABDb2xvciBMQ0QKICAgAGE=
DRM.card0.VGA.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1600x1200 1280x1024 1280x1024 1152x864 1024x768 1024x768 800x600 800x600 640x480 640x480 720x400
 edid-base64: AP///////wAQrAegTDhQMC8PAQMOKR947mOQo1dLmyURUFSlSwCBgKlAcU8BAQEBAQEBAQEBSD9AMGKwMkBAwBMAbxMRAAAeAAAA/wBDMDg4MTVCSTBQOEwgAAAA/ABERUxMIDIwMDFGUAogAAAA/QA4TB9QEAAKICAgICAgAJA=
Date: Thu Jan 20 23:37:47 2011
DistUpgraded: Yes, recently upgraded Log time: 2009-11-14 16:29:16.249784
DistroCodename: natty
DistroVariant: ubuntu
DkmsStatus:
 vboxhost, 4.0.2, 2.6.37-12-generic, i686: installed
 virtualbox-ose, 3.2.12, 2.6.37-12-generic, i686: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
 virtualbox-ose, 3.2.12, 2.6.37-11-generic, i686: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
EcryptfsInUse: Yes
GraphicsCard:
 Subsystem: ASUSTeK Computer Inc. Device [1043:14e2]
   Subsystem: ASUSTeK Computer Inc. Device [1043:14e2]
MachineType: ASUSTeK Computer Inc. U3SG
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=en_US.utf8
 LC_MESSAGES=en_US.utf8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.37-12-generic root=UUID=75f23f17-3ace-4485-af57-a7318eb6c2ff ro vt.handoff=7 quiet splash
ProcVersionSignature_: Ubuntu 2.6.37-12.26-generic 2.6.37
Renderer: Hardware acceleration
SourcePackage: unity
UnitySupportTest:

dmi.bios.date: 01/28/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 305
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: U3SG
dmi.board.vendor: ASUSTeK Computer Inc.
dmi.board.version: 1.0
dmi.chassis.asset.tag: ATN12345678901234567
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK Computer Inc.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr305:bd01/28/2008:svnASUSTeKComputerInc.:pnU3SG:pvr1.0:rvnASUSTeKComputerInc.:rnU3SG:rvr1.0:cvnASUSTeKComputerInc.:ct10:cvr1.0:
dmi.product.name: U3SG
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK Computer Inc.
version.libdrm2: libdrm2 2.4.22-2ubuntu1
version.libgl1-mesa-glx: libgl1-mesa-glx 7.9+repack-1ubuntu6
version.xserver-xorg: xserver-xorg 1:7.5+6ubuntu8
version.xserver-xorg-video-ati: xserver-xorg-video-ati N/A
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.13.901-2ubuntu2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau N/A

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :
Revision history for this message
Mark Shuttleworth (sabdfl) wrote : Re: [Bug 705653] Re: global menu must be disabled when a modal dialog is displayed

Hi MPT - this one is squarely in your territory. My gut would be that
the default behaviour should be as described, though the app should be
able to deliberately overrule that and present a menu regardless (at
which point problems are bugs in the app, not bugs in the system).

Mark

tags: added: mago
Revision history for this message
Matthew Paul Thomas (mpt) wrote : Re: global menu must be disabled when a modal dialog is displayed

Thanks Omer.

There's nothing new that needs specifying here. <https://wiki.ubuntu.com/MenuBar> already says that it should be the menus for the active window that are shown in the menu bar. It does not say the menus for any other window should be.

In future, dialogs without menus should be able to use the menus of the parent window as the basis for their fallback menus <https://wiki.ubuntu.com/MenuBar#Version%202>, but the current behavior is not a step towards that, it's just a bug.

summary: - global menu must be disabled when a modal dialog is displayed
+ Menus for parent window are still sensitive when dialog is focused
summary: - Menus for parent window are still sensitive when dialog is focused
+ Menus for parent window are still present when dialog is focused
Revision history for this message
Alex Launi (alexlauni) wrote :

How does indicator-applet behave in this same case? Do menus remain for modal dialogs?

Changed in unity:
status: New → Confirmed
Changed in unity (Ubuntu):
status: New → Confirmed
Revision history for this message
Florian Boucault (fboucault) wrote :

This issue does not affect Unity 2D. Menus of parent window are not shown when a modal dialog is focused.

Changed in unity-2d:
status: New → Invalid
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

This is still an issue with Unity dialogs.

Changed in unity (Ubuntu):
importance: Undecided → High
status: Confirmed → Triaged
assignee: nobody → Canonical Desktop Experience Team (canonical-dx-team)
Changed in unity:
status: Confirmed → Triaged
Revision history for this message
Neil J. Patel (njpatel) wrote :

This does not happen on all windows, but confirmed with GEdit. The funny thing is that we're not doing anything special in Unity, the panel service is reporting that appmenu is asking us to display the full menu for the dialog window....adding indicator-appmenu to the affects list.

Changed in unity:
assignee: nobody → Neil J. Patel (njpatel)
importance: Undecided → Medium
milestone: none → 4.10.0
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Confirming what njpatel says, however indicator-appmenu really when a menus-less dialog is mapped, quickly notifies two events for each menu item: entry-removed and entry-added. However, since they're quite immediate, the UI (unity/unity-2d) doesn't take care of them since they're too near (and the panel-service sends events limiting them with a timeout).

An easy way to see that is to add some g_debug code into entry_added and entry_removed in panel-service.c, then run the service in your terminal and open the menu Terminal -> Set Title... You'll notice what I'm telling.

So indicator-appmenu basically seems to do the wrong thing by first removing the indicators and then re-adding them all.

Ted Gould (ted)
Changed in unity-foundations:
milestone: none → oneiric-backlog
Revision history for this message
Olli Ries (ories) wrote :

confirmed on 12.04 b2 - Charles let's tackle that in 12.10

Changed in indicator-appmenu:
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Charles Kerr (charlesk)
tags: added: backlog
Revision history for this message
Adrien Cunin (adri2000) wrote :

This is a real problem : it causes easily reproducible crashes in FileZilla. The application doesn't expect the user to use the main menu when a modal dialog is open.

Revision history for this message
enz (markus-enzenberger) wrote :

I would even say that this bug can crash every application. If the application programmer uses a modal dialog, she explicitely expects that no other events will be handled while the dialog is running. The fact that the main window menu can still trigger event handlers is a serious bug and will cause undefined behavior in most applications.

I am not against Unity, but the fact that serious bugs like this have existed for many months now is very discouraging (another one is that the enabled/disabled status of menu items in Qt applications is not properly updated in the global menu bar).

Please fix these bugs at least in the coming stable Ubuntu release.

Revision history for this message
Andrea Cimitan (cimi) wrote :

Olli, SRU?

Revision history for this message
Ted Gould (ted) wrote :

This bug can be serious for some applications, and it is a bug. But fixing it would be relatively invasive for this late in the cycle. So, I think we're going to have to put it on the backlog for 12.10. Sad to do that, but I think that's where we are right now.

Changed in indicator-appmenu:
assignee: Charles Kerr (charlesk) → nobody
Changed in unity-foundations:
status: New → Invalid
Changed in unity:
status: Triaged → Invalid
Changed in unity (Ubuntu):
status: Triaged → Invalid
Revision history for this message
Ted Gould (ted) wrote :

It is, by the way, only an indicator-appmenu bug. Marking it as such.

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

and it is still a bug in Ubuntu. reassign to the right package instead of marking as Invalid.

affects: unity (Ubuntu) → indicator-appmenu (Ubuntu)
Changed in indicator-appmenu (Ubuntu):
status: Invalid → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.