After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 641432 - multiprocess modal dialogs don't disable parent
multiprocess modal dialogs don't disable parent
Status: RESOLVED WONTFIX
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-02-04 03:46 UTC by Bastien Nocera
Modified: 2015-02-27 02:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
testmodal.c (1.38 KB, text/plain)
2011-02-04 21:44 UTC, Matthias Clasen
Details
parented dialogue (40.41 KB, image/png)
2011-02-04 22:24 UTC, Bastien Nocera
Details

Description Bastien Nocera 2011-02-04 03:46:02 UTC
The code in gnome-settings-daemon to ask for user confirmation:
http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/xrandr/gsd-xrandr-manager.c#n520
isn't modal anymore in gnome-shell.

The parent dialogue is still clickable, and usable, even though the modal dialogue isn't dismissed yet.
Comment 1 Owen Taylor 2011-02-04 18:34:14 UTC
This can't have anything to do with the shell - whether the parent dialog is clickable or not is completely a GTK+ thing.
Comment 2 Bastien Nocera 2011-02-04 19:20:20 UTC
OK, reassigning to GTK+ then.
Comment 3 William Jon McCann 2011-02-04 19:41:21 UTC
Without looking, guess is that the widget type hint isn't DIALOG.  I've seen this before.  Glade doesn't set the hint by default for dialogs.
Comment 4 Bastien Nocera 2011-02-04 20:18:10 UTC
(In reply to comment #3)
> Without looking, guess is that the widget type hint isn't DIALOG.  I've seen
> this before.  Glade doesn't set the hint by default for dialogs.

The dialog is create with gtk_message_dialog_new(), so this shouldn't matter (and if GTK+ fails to set the type hint, then it's still a GTK+ bug).
Comment 5 Matthias Clasen 2011-02-04 21:44:49 UTC
Created attachment 180121 [details]
testmodal.c

Here is a small testcase that works fine. 
Are you certain that you actually have a window and set it as transient parent there ?
Comment 6 Bastien Nocera 2011-02-04 22:24:57 UTC
Created attachment 180127 [details]
parented dialogue
Comment 7 Bastien Nocera 2011-02-04 22:25:57 UTC
(In reply to comment #5)
> Created an attachment (id=180121) [details]
> testmodal.c
> 
> Here is a small testcase that works fine. 
> Are you certain that you actually have a window and set it as transient parent
> there ?

Given that gnome-shell makes the dialogue appear as a sheet over the shell window, yes.
Comment 8 Bastien Nocera 2011-02-04 22:32:51 UTC
Your test case works, it might be confused when the dialogue is from another process. I'll try and make a test case for it.
Comment 9 Matthias Clasen 2011-02-05 02:10:51 UTC
if it is between different processes, then GTK+ is not involved.
Comment 10 Bastien Nocera 2011-02-05 02:17:16 UTC
(In reply to comment #9)
> if it is between different processes, then GTK+ is not involved.

Panel is in gnome-control-center and the dialogue in gnome-settings-daemon. Reassigning to gnome-shell, hopefully Owen will let me know whether it can have anything to do with the shell (or mutter).
Comment 11 Milan Bouchet-Valat 2011-02-05 10:22:35 UTC
Silly question, but... have you checked it also happens with Metacity?
Comment 12 Owen Taylor 2011-02-05 14:58:37 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > if it is between different processes, then GTK+ is not involved.
> 
> Panel is in gnome-control-center and the dialogue in gnome-settings-daemon.
> Reassigning to gnome-shell, hopefully Owen will let me know whether it can have
> anything to do with the shell (or mutter).

You are expecting something to happen that there is no code anywhere in the system to make happen.

 * Placing the window as a sheet is handled by the window manager, based upon hints set on the window.

 * Disabling the parent window is handled in GTK+ - when you show a modal dialog, GTK+ does a gtk_grab_add(). If some other process is showing a "modal" dialog with the parent set to GTK+'s window, GTK+ will get no notification and have no idea it should do anything.
Comment 13 Owen Taylor 2011-03-01 15:09:50 UTC
Matthias - since you consider this 3.0 target, what component should it be reassigned to? There's nothing that Mutter can do here (well, without heroic unmotivated measures like putting an input-only window over the parent window of a dialog with the modal hint that.)
Comment 14 Florian Müllner 2015-02-27 02:55:02 UTC
CANTFIX would be handy here ...