Bug 72869

Summary: If KInputDialog it shown, parent dialog is moved behind main window
Product: [Plasma] kwin Reporter: Ingo Klöcker <kloecker>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: kde, kloecker
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: xwininfo and xprop output for KMail windows
xwininfo and xprop output for Run Command window and Sorry message box

Description Ingo Klöcker 2004-01-18 01:36:26 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

Simply do the following:
- Start KMail
- Settings->Configure Filters
- Select a filter and press Rename...

Result:
The KInputDialog pops up (good) and the filter config dialog vanishes behind KMail's main window (very bad).
Comment 1 Kai Lahmann 2004-01-18 01:38:28 UTC
no problem here (20040103)
Comment 2 Ingo Klöcker 2004-01-18 12:42:13 UTC
Well, I'm using cvs from 2004-01-16. And I'm seeing this with all secondary windows (e.g. the composer) in KMail/Kontact. If a dialog pops up the secondary window is moved below the main window. Very annoying.
Comment 3 Lubos Lunak 2004-01-19 15:17:04 UTC
I can't reproduce it either. Which qt version do you use, if qt-copy, with patches? Please attach 'xwininfo' and 'xprop' output for all the three windows.
Comment 4 Ingo Klöcker 2004-01-19 21:53:53 UTC
Hmm, after recompiling everything (KDE_3_2_BRANCH) today the problem is gone.

FWIW, I'm using qt-copy from before Qt 3.3 Beta 1 (so I'm basically using QT_3_2_BRANCH or whatever it's called). I'm not using any patches.
Comment 5 Ingo Klöcker 2004-01-21 01:09:10 UTC
Great. I have changed exactly nothing since yesterday and all of a sudden the bug is back. So I attached the info you asked for.

I've also attached the xwininfo and xprop output of KDesktop's Run Command window and the Error message box that pops up _behind_ the Run Command window if I try to start 'kwrite' (It says "KDEInit could not launch 'KWrite': Could not find 'KWrite' executable.", but that's not relevant.). If I enter nonsense (let's say "foobar") in the Run Command window then the Error message box which says "foobar\n Could not run the specified command!" pops up in front of the Run Command window.
Comment 6 Ingo Klöcker 2004-01-21 01:09:59 UTC
Created attachment 4264 [details]
xwininfo and xprop output for KMail windows
Comment 7 Ingo Klöcker 2004-01-21 01:11:21 UTC
Created attachment 4265 [details]
xwininfo and xprop output for Run Command window and Sorry message box
Comment 8 Ingo Klöcker 2004-01-23 11:57:37 UTC
It's actually our fault. We did pass 0 as parent to KInputDialog. Passing topLevelWidget() to it fixes the problem. Sorry, for the noise. It's too bad that in KDE 3.1 passing 0 as parent was no problem. I can imagine that a lot of apps now have problems because of that.

Of course, this doesn't fix the problem with the Run Command window and the Sorry message box. But since the original bug report was about KMail I'll reassign the report to me.
Comment 9 Lubos Lunak 2004-01-23 16:39:56 UTC
You're right about the way to fix KMail, passing topLevelWidget() instead of no parent solves that specific problem (feel free to commit that change, reviewed, approved ;) ).
However, as you state yourself, this is a general problem, so I'll reassign it back to KWin, as this needs to be handled somehow. The problems occurs because of a conflict between a hack in QDialog whose purpose I don't quite understand, KWin's new window grouping code, and the fact that your qt doesn't have qt-copy patch #0009 (the patch doesn't solve it entirely though).
Comment 10 Ingo Klöcker 2004-01-26 16:56:48 UTC
*** Bug 73527 has been marked as a duplicate of this bug. ***
Comment 11 Lubos Lunak 2004-02-18 17:36:18 UTC
Mailed qt-bugs@ asking to remove the hack in QDialog (issue #42009). The original problem has been already fixed, nothing more I can do.