Bug 214508 - error dialogs are modal
error dialogs are modal
Product: Fedora
Classification: Fedora
Component: virt-manager (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Daniel Berrange
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2006-11-07 16:55 EST by Bill Nottingham
Modified: 2014-03-16 23:03 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-03-04 11:39:21 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Bill Nottingham 2006-11-07 16:55:03 EST
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):

Comment 1 Red Hat Bugzilla 2007-07-24 22:00:50 EDT
change QA contact
Comment 2 Chris Evich 2009-01-12 15:02:00 EST
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:

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 15:41:30 EST
Dug into pygtk docs and found the cause:


"...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 16:37:05 EST
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:


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 11:39:21 EST
Okay, this is fixed in rawhide, closing.

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