Closed Bug 280518 Opened 20 years ago Closed 16 years ago

Activity selection box remains on top of file selection box

Categories

(SeaMonkey :: Download & File Handling, defect)

SeaMonkey 1.1 Branch
x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: axel.braun, Assigned: iamawalrus)

References

Details

(Keywords: regression)

Attachments

(2 files)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b) Gecko/20050120 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b) Gecko/20050120 This behaviour is new compared to 1.7.5: Select a file to download, e.g. from a FTP-Server. A selection box appears, asking what to do with this file: Open with blabla or save to disk. select 'save to disk', the file selection dialog opens *but* the first selection box remains on top of the file selection box, and it still reacts on clicks. If you click it agian you are not able anymore to select a file, it seems all to be messed up. Reproducible: Always Actual Results: Activity box stays on top of fiel selection dialog Expected Results: destroy the activity box when opening the file selection box.
Which exact build are you using? GTK1 or GTK2? Which filepicker do you get -- the XUL one or the GTK2 one?
This is a good question, where can I see the file picker? The file from which I installed was mozilla-i686-pc-linux-gnu-full-installer.tar.gz dated 26.01.2005
That sounds like the GTK1 build (check in about:buildconfig whether gtk2 is set?), so the XUL filepicker....
I don't see this in my build, my picker is modal to the helper app dialog.
about:buildconfig Build platform target i686-pc-linux-gnu Build tools Compiler Version Compiler flags gcc gcc version 3.2.3 -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-long-long -pedantic -pthread -pipe c++ gcc version 3.2.3 -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -I/usr/X11R6/include Configure arguments --enable-application=suite --disable-tests --enable-extensions=default,irc,tasks,negotiateauth --without-system-nspr --without-system-jpeg --without-system-zlib --without-system-png --without-system-mng --disable-debug '--enable-optimize=-O2 -gstabs+' --enable-crypto does that help?
verified on today's build (2005021305): bug still valid
What windowmanager, if I may ask?
KDE 3.3.2 Level a (SuSE build)
That's the desktop environment. What window manager are you using with it?
Not sure where I can look this up, but I assume it is XDM.
I really doubt people use anything other than KWin with KDE...
Nah, XDM isn't the window manager either (it's the login prompt and x display manager). If I can get KDE to work here (it seems to have had issues all along, I'll try kwin). In the meantime, if reporter could try a different windowmanager and report the results, that would be useful. I really can't think of what could have changed here from 1.7.3 to 1.7.5, though....
tried with fvwm, works as designed. So, it seems to be an issue together with KDE. As far as I remember, version 1.7.5 worked fine.
Oh, this is between 1.7.5 and a current trunk build? All sorts of stuff has changed there... ;) Can you possibly narrow down the regression window using the 1.8a releases and http://archive.mozilla.org ?
Quite difficult to use the archive, as it is not visible what an 1.8 release is or in which subdir to find a workable package. I tried Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a4) Gecko/20040908 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a5) Gecko/20041119 This release worked fine. BUT: I d'ld the latest nightly builds Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b) Gecko/20050218 from the archive mozilla-i686-pc-linux-gnu-gtk2+xft.tar.gz works fine, whereas the full-installer mozilla-i686-pc-linux-gnu-full-installer.tar.gz shows the faulty behaviour.
Axel, does 1.8a6 also work fine? Or does it show the problem?
I tried the full-installer package: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a6) Gecko/20050111 shows the bug
OK. Could you try archived builds from between 1.8a5 and 1.8a6 to see how far you can narrow this down?
The issue seems to be more on the distribution version: As for the current build the full-installer version shows the problem I flipped through some hundred directories on the archive. The last full installer version was Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a5) Gecko/20041105, which shows still the problem. So, the relevant change must have been before, but I couldnt find a full installer for an earlier version.
Wait. So you're seeing the problem with installer builds but not tarballs?
In comment 15, the full installer build you tested was GTK1, while the tarball was GTK2, no? It sounds more likely that the difference is between the toolkits, not between tarball and installer.
Good question ;-) I have no idea whats inside the full-installer package (except that I expect Moz inside). So, if you can point me to an earlier tarball from gtk1 on the archive for testing, thats fine. I'm using moz to browse the archive, but it is not very comfortable as you cant open all subdirectories on a command...and the line seems to be thin to europe.
http://archive.mozilla.org/pub/mozilla/nightly/2004-12-08-07-trunk/ seems to have a GTK1 tarball (as well as full installer). Do those show the problem?
see comment 20, I tried an even oder one (20041105) which did *not* fix the problem
Hmm... but in comment 16, you said that "rv:1.8a5) Gecko/20041119" worked. Was that a GTK2 build?
yes, was a gtk2
OK... What about the 1.8a4? If that was also GTK2, could you test the GTK1 one?
I ooked through all trunk-folders of october and through most of July and August, but couldnt find a full installer build....
Ugh. Archive is worse than I recalled it being.... :( I put some GTK1 tarballs up at http://web.mit.edu/bzbarsky/Public/mozbuilds/ Let me know what testing shows with those?
all versions from your directory show the bug.
OK... does the GTK1 version of 1.7.5 also show the bug, then?
No, I downloaded and installed various 1.7.5 from the full installer, they all worked fine.
OK. But GTK1 1.8a4 shows the bug, I hope? (It's later than the first build that I put up....) If so, what about GTK1 1.8a3, 1.8a3, 1.8a1?
yep, tested all four packages you put up.... can you also put one up for 1.8a1-3? Thx
1.8a2 works fine, 1.8a3 has the bug
I've put 4 more builds in that range at <http://web.mit.edu/bzbarsky/Public/mozbuilds/> (well, they'll be up in the next 10-15 minutes). Could you test those? Also, I finally got kwin working, and it's not showing the problem here. :(
Well, those bugs you cant reproduce are the best ones 8-| Anyway, tried on a second machine (KDE 3.3.2 Level a, SuSE 9.1) with the same result: 07-15 is OK 08-01 is NOT OK
Ok.. I put up three more builds (07-19, 07-23, 07-27). Could you try those? With a small enough date range, I may be able to figure out what checkin caused the problem...
07-19 is already showing the bug Success!
Hmm... about 25000 lines of code changed in those 4 days. None of the changes really leap out at me.... I put up the builds for 07-16, 07-17, 07-18 in the same place. Could you test those? Maybe if we get this down to one day....
Blocks: 284082
tried 07-17 and 07-18, they are OK
List of checkins between 2004-07-18-07 and 2004-07-19-08 (plus 2-hour window on each side): http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2004-07-18+05%3A00%3A00&maxdate=2004-07-19+10%3A00%3A00&cvsroot=%2Fcvsroot I still don't see what in there could be causing this... There are no GTK widgetry changes, no XP window positioning or whatnot changes... biesi, do you have any idea?
hm... sorry... I don't see anything suspicious either... anyone wanna do a binary search through all those patches? :-)
looks like a difficult one :-( I've just installed all different versions on a different machine, and from the ones uploaded to http://web.mit.edu/bzbarsky/Public/mozbuilds/ it looks like 07-19 is still OK, but 07-23 fails. I know this is different to what i reported before (my apologies) but I dont have the other machine available at the moment to verify. Some more versions from in between?
I've uploaded 07-20, 07-21, 07-22 builds.
07-22 and earlier are OK, 07-23 failed
Blocks: 194323
OK. In that range, and given that it's toolkit-dependent, it's likely caused by bug 194323. Over to patch author of that bug. ccing people familiar with GTK widgetry.
Assignee: download-manager → robin.lu
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.8b2?
*** Bug 284082 has been marked as a duplicate of this bug. ***
Flags: blocking-seamonkey1.0a?
Attached patch patchSplinter Review
we might need to define the relationship of these windows/dialogs explicitly.
Attachment #178764 - Flags: review?(bzbarsky)
Comment on attachment 178764 [details] [diff] [review] patch No, this is wrong. The parenting is done the way it's done for various reasons of dubious quality, but just changing it without changing other things in the helper app back end isn't going to work. So the situation is that we're opening a dialog modal to the browser window; why is that causing both the browser window and the modal dialog to be below this other dialog parented (but _not_ modal) to the browser window? That didn't use to happen, so clearly we changed something to cause it to happen.
Attachment #178764 - Flags: review?(bzbarsky) → review-
helperAppDlg is parent to null. So the dialog modal to the browser window can be below of it. BTW, when using metacity as window manager, no matter if the patch of bug 194323 exists, the helperAppDlg can always be on top of the filepicker and clickable. I tested with both gtk1.2 and gtk2 build.
> helperAppDlg is parent to null. Ah, yes... I forgot that part. > So the dialog modal to the browser window can be below of it. It _can_, but it didn't _use_ to be, unles the user put it there. The behavior used to be (and this is the same behavior I observe currently with my kwm version) that the browser window was brought up on top of the helper app dialog, with the modal dialog on top of the browser window. This behavior changed at some point, only for gtk1 builds (not gtk2). The regression window indicates bug 194323 as being the most likely culprit. So just to make it clear, we're talking about what happens when you click the "ok" button on the helper app dialog, not about the various and sundry states the user can put the windows into.
Let me explain what I have changed in bug 194323. Before the patch, dialogs without parents set their transient to null which means, in metacity, on top of every windows of the application. It made the preferences panel always on top of the dialog invoked in it. The patch changed the behavior by making the dialogs without parent grouped in a gdk window group by itself so that it won't block any other dialog. I test mozilla 1.7.6 gtk1.2 build with metacity. After I clicked "ok", the filepicker came to the top. Is it the right behavior we expect?
> It made the preferences panel always on top of the dialog invoked in it. But preferences is a window, not a dialog, no? At least for SeaMonkey; for Firefox it depends on a preference value. If that's not done correctly, _that_'s what should be fixed. > The patch changed the behavior by making the dialogs without parent grouped in > a gdk window group by itself so that it won't block any other dialog. But in the case described in this bug, it actually caused the helper app dialog to cover up the filepicker dialog by default. > After I clicked "ok", the filepicker came to the top. Yes. The expectation is that the filepicker will be the topmost mozilla window after it's opened. There is no real expectation as to the relative ordering of the browser window that the filepicker is parented to and the helper app dialog window...
Note that the Windows window code uses the "dialog" style to determine whether to suppress the display of the system menu, minimize box and maximize box, while the Mac also uses it as a cue to suppress the maximize and close boxes.
(In reply to comment #57) > But preferences is a window, not a dialog, no? It is a dialog. http://lxr.mozilla.org/seamonkey/source/xpfe/communicator/resources/content/utilityOverlay.js#262 > But in the case described in this bug, it actually caused the helper app dialog > to cover up the filepicker dialog by default. If you don't think we should explicitly build up the parentship for these windows, I believe it could be a bug of the window manager. The only thing I changed in the patch is to group the dialog without parent to a gdk window group. The window manager the reporter were using may have some different treatment to gdk window group other than the metacity. cc hp for his opinion.
> It is a dialog. That would seem to be a bug. As for the rest, I don't pretend to understand GTK window groups. I'm just trying to get this bug resolved one way or another... ;)
I'm not 100% sure I know what's going on here, but let me be sure I have the situation right from WM point of view. Prior to patch: 1. Main Window, group leader A, transient parent None, type NORMAL 2. Helper App Dialog, group leader A, transient parent 1, type DIALOG 3. File Chooser Dialog, group leader A, transient parent None, type DIALOG Patch changes: - file chooser has itself as group leader, since transient parent is None? If I got all that right, then what you're telling the window manager by changing the group leader on the file dialog is: "this file dialog is a separate application (or main window group at least) from the mainwindow + helper dialog" What that should imply is that the file dialog has no stacking constraints with respect to the other two windows. I don't _think_ this should effect the initial stacking of the file dialog, but it might in the latest GNOME (2.10) because of the "focus stealing prevention" which is supposed to keep something like Gaim from grabbing focus on new IM messages. IIRC there's an exception where if an app is focused and it opens a dialog, that dialog always gets focus; but changing the group leader would defeat this exception since from the WM point of view you suddenly have a new app that's being opened, not a dialog in an existing app. Given the age of this bug, GNOME 2.10 sounds unlikely though. Let me clarify a terminology point just to avoid confusion: the word "modal" in the window manager specs refers to whether a dialog disables input to other windows in the app; this should be orthogonal to whether the dialog has a parent (is transient for another window).
> That would seem to be a bug. I argued about this in a bug once. Some one told me, if all the changes apply after the ok is clicked, it should be a dialog. As far as I can remember. Do you think we can change the parent of filepicker to the helper app dialog to resolve this bug? It is reasonable. By this, user also can not bring the helper app dialog to the top and click the "ok" to get another filepicker, which is also a bug.
hp, come correction: Prior to patch: 1. Main Window, group leader A, transient parent None, type NORMAL 2. Helper App Dialog, group leader A, transient parent _None_, type DIALOG 3. File Chooser Dialog, group leader A, transient parent _1_, type DIALOG Patch changes: - helper app dialog has itself as group leader, since transient parent is None. In metacity, when file chooser is invoked, it comes to the top of 1 and 2, which is what we expect. But in some wm, as bz tested with gtk1.2 build on kwm, file chooser comes below 2.
> Do you think we can change the parent of filepicker to the helper app dialog to > resolve this bug? Like I said, not without changing a bunch of stuff in the helper app back end. We have bugs on those issues. > which is also a bug. And filed. May be worth reading....
If the bug only happens with kwin we should probably ask Lubos about it, though I'm not sure it's a kwin bug. My guess is that because the WM thinks there are two separate apps it tries to keep the windows for a given app together and causes the problem, or something like that. Which is potentially reasonable behavior, given the info the WM has...
MoFo shipped a couple of alphas and even a beta with this bug, so given that noone is working on this actively, as it seems, this can't block the SeaMonkey 1.0 Alpha release. If there's active work and it's still annoying, please consider to re-nominate for beta or final once alpha is out.
Flags: blocking-seamonkey1.0a? → blocking-seamonkey1.0a-
Im voting for this bug too, Im seeing in the SeaMonkey 1.0s/1.1a gtk1 builds from 7-3-2005 to present, also in gtk1 tinbox-builds. http://img300.imageshack.us/my.php?image=seamonkeybug0hy.jpg SuSE Linux 9.2 Pro - kernel 2.6.8-24 - machine x86_64 - KDE 3.3.0
*** Bug 309414 has been marked as a duplicate of this bug. ***
Can you reproduce with SeaMonkey v1.1.9 ? Can you reproduce with SeaMonkey v2.0a1pre ? Robin, Are you still working on this ?
Keywords: regression
Version: unspecified → SeaMonkey 1.1 Branch
Works for me with SeaMonkey 2.0 Beta 1 and later.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: