Bug 214508 - error dialogs are modal
Summary: error dialogs are modal
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: virt-manager
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Daniel Berrangé
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-11-07 21:55 UTC by Bill Nottingham
Modified: 2014-03-17 03:03 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-03-04 16:39:21 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bill Nottingham 2006-11-07 21:55:03 UTC
Description of problem:

If I have an error up (such as domain creation failed), other existing virtual
machine consoles do not acccept keyboard or mouse input.

Version-Release number of selected component (if applicable):

virt-manager-0.2.5-1.el5

Comment 1 Red Hat Bugzilla 2007-07-25 02:00:50 UTC
change QA contact

Comment 2 Chris Evich 2009-01-12 20:02:00 UTC
Out of curiosity I started looking into this.  It seems similar to behavior described in http://bugzilla.gnome.org/show_bug.cgi?id=529740 

Though the actual bug seems to also be upstream:
http://bugzilla.gnome.org/show_bug.cgi?id=536664

Curiously though, looking through the virt-manager-0.5.3 code, all instantiation of vmmErrorDialog appear to be with flags=0 (i.e. not setting GTK_DIALOG_MODAL).

Since clearly the dialog is modal, perhaps there's another bug in GTK or pyGTK wherein GtkMessageDialog's are always modal?

Comment 3 Chris Evich 2009-01-12 20:41:30 UTC
Dug into pygtk docs and found the cause:

http://www.pygtk.org/docs/pygtk/class-gtkdialog.html#method-gtkdialog--run

"...During the run() method, the default behavior of "delete_event" is disabled; if the dialog receives a "delete_event", it will not be destroyed as windows usually are, and the run() method will return gtk.RESPONSE_DELETE_EVENT. Also, during the run() method the dialog will be modal."""

So, it doesn't matter if flags includes GTK_DIALOG_MODAL or not, MessageDialog will always be modal as long as Dialog is.

Comment 4 Cole Robinson 2009-01-21 21:37:05 UTC
This mainly boils down to the use of 'run' rather than 'show' with a 'hide' callback.

I just fixed this upstream, now all error dialogs should be nonmodal:

http://hg.et.redhat.com/cgi-bin/hg-virt.cgi/applications/virt-manager--devel/rev/274eb4f5fe61

I'm reassigning to rawhide. If a customer ever files a report for this issue, we can re-examine backporting the change, though it will be more difficult since there has been lots of error reporting consolidation upstream compared to the current rhel version.

Comment 5 Cole Robinson 2009-03-04 16:39:21 UTC
Okay, this is fixed in rawhide, closing.


Note You need to log in before you can comment on or make changes to this bug.