Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 83458 - Modal dialog brought up from another dialog is nonmodal
Summary: Modal dialog brought up from another dialog is nonmodal
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.0.1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Bogdan Gheorghe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-21 16:55 EST by minyi CLA
Modified: 2016-08-28 05:44 EDT (History)
5 users (show)

See Also:


Attachments
sample plugin (3.88 KB, application/octet-stream)
2005-01-21 16:56 EST, minyi CLA
no flags Details
KDE version (18.13 KB, image/jpeg)
2005-01-24 17:06 EST, minyi CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description minyi CLA 2005-01-21 16:55:50 EST
This happens on Linus, not Windows.

I have attached a sample plugin. Import the plugin. Open view Eclipse Bug Test
-> My View. Click on the running person icon, a dialog will be brought up. Click
on "New Dialog" button on the dialog, another dialog is brought up. Notice that
the second dialog is nonmodal. You can switch between the 1st and 2nd dialog.
This should not happen.

Is this the right behavior on Linux? If it is, then what I can do to make it modal.
Comment 1 minyi CLA 2005-01-21 16:56:17 EST
Created attachment 17376 [details]
sample plugin
Comment 2 Billy Biggs CLA 2005-01-21 17:33:29 EST
Using a recent 3.1 build, I took your MyDialog.java class and made an SWT app
which opened it up.  I tried on both Linux-GTK and Linux-Motif using the
metacity window manager version 2.4.55.  In both cases, I can only type into the
second dialog and not the first, and while I can make the shell focus switch to
the first dialog, I cannot make the first dialog move above the second one.

Can you tell me more about your setup, and what the incorrect behaviour is that
you are seeing?
Comment 3 minyi CLA 2005-01-24 10:11:12 EST
This is exactly what I see. The second dialog can go behind the first dialog,
but you can not do anything in the first dialog without closing the second one.
This is causing confusion to our users. In our product, we have a login wizard.
On the last page of the wizard, after the user types in the user id and clicks
"Finish", we promp the user for password in a separate dialog. The password
dialog should always be on top of the login wizard. But on Linux, the Login
wizard can go on top of the password dialog. The users are complaining that once
the password dialog hides behing the wizard, they can't bring it to top again
unless they move the wizard, but they can not do anything in the wizard either.
Comment 4 Billy Biggs CLA 2005-01-24 10:24:56 EST
I cannot reproduce this using metacity.  What window manager are you using?
Comment 5 minyi CLA 2005-01-24 10:44:53 EST
I am using KDE on Redhat. I am also able to recreate this on Solaris 9.
Comment 6 Billy Biggs CLA 2005-01-24 11:20:32 EST
What version of Red Hat and KDE?  I cannot reproduce this on KDE 3.1.3 on RHEL3.
Comment 7 minyi CLA 2005-01-24 16:09:04 EST
I have RedHat Enterprise 2.4.21. I am not sure which KDE I have. 
Comment 8 minyi CLA 2005-01-24 16:10:53 EST
I am using Eclipse 3.0.1. If you still can not recreate, could this problem have
been resolved in later versions of Eclipse?
Comment 9 Billy Biggs CLA 2005-01-24 16:18:43 EST
I specifically tried your example plugin on Eclipse 3.0.1 on the KDE that ships
with Red Hat Enterprise Linux 3.  Do you have the latest errata updates for this OS?

Can you tell me the exact steps you used to make the first dialog move above the
second one?
Comment 10 minyi CLA 2005-01-24 16:32:48 EST
After the 1st dialog pops up, I click on "New Dialog" button and the 2nd 
dialog shows up. The 1st dialog now hides behind the 2nd one. I moves 2nd 
dialog away so I can see the first dialog. I then can click on the title bar 
of the 1st dialog to bring it to the top.
Comment 11 Billy Biggs CLA 2005-01-24 16:45:34 EST
The window gets focus, but it has not been brought to top.  If you move the
first dialog over to where the second one is, you will see that it is still
behind the other dialog.  As well, you cannot type into the first dialog while
the second one is up.

Is the problem that the original window can be moved and can obtain top-level focus?
Comment 12 minyi CLA 2005-01-24 16:56:33 EST
What I see is different from what you see. When I drag the first dialog to 
where the second one is, the second dialog gets behind the first dialog, but I 
can not type in anything into the first dialog.
Comment 13 Billy Biggs CLA 2005-01-24 16:58:31 EST
OK, that's what I thought originally.

Let's see what version of KDE you have.  Please post the output of:

  rpm -qa | grep -i kde
Comment 14 minyi CLA 2005-01-24 17:06:39 EST
Created attachment 17404 [details]
KDE version

I have attached a screen capture from my Linux machine which has the complete
output of the command.
Comment 15 Chris Longfield CLA 2005-10-13 12:25:46 EDT
I am seeing the same thing on gnome 1.4, gtk2 2.6.9, and debian 3-stable and
eclipse 3.2 build I20050811-1530.  I have dialogs that open dialogs four deep,
but when you switch windows and come back to the app, the main window grabs the
focus and puts its immediate child on top, but the child of the child
(grandchild) does not appear until you select the child dialog. 
Comment 16 Billy Biggs CLA 2005-10-13 13:21:52 EDT
That's most likely a bug in metacity, there were issues with metacity 2.10 and
multiple child dialogs.  Do you have a small reproducable test case?  If so I
can probably write a small test case so we can post it in the GNOME bugzilla.

I think it's a different issue from this bug here, if you can post to a new bug
against SWT it would help tracking.
Comment 17 Eric Williams CLA 2016-08-05 14:20:10 EDT
No reply on this bug in awhile, comment 16 indicates that it could be metacity specific. Closing, please re-open if this bug re-appears.