Closed
Bug 56677
Opened 24 years ago
Closed 24 years ago
window->OpenDialog not behaving in an XP fashion.
Categories
(Core :: DOM: Core & HTML, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla0.9
People
(Reporter: javi, Assigned: danm.moz)
References
Details
(Whiteboard: patch attached)
Attachments
(2 files)
In psm-glue, we used parentWindow->OpenDialog to open dialog boxes that PSM brings up. When calling OpenDialog and passing in the "modal" flag to the method, Linux often hangs and/or brings up a child window that does not process mouse events. In psm-glue, we will try working around this problem by calling parentWindow->Open and modifying the parameter string to one that works on Linux.
Comment 2•24 years ago
|
||
This appears to be working on Linux now.
Reporter | ||
Comment 3•24 years ago
|
||
It works because I added code to open the window differently on Linux as opposed to Windows.
It works on Linux because you're no longer opening nonmodal windows on top of modal ones on that platform; an explanation I find myself repeating surprisingly often. I'm beginning to wonder if it's me that's crazy. This bug remains open instead of being closed invalid because the frequency with which people try to shoot themselves in the foot like this begs some sort of automatic workaround.
Comment 5•24 years ago
|
||
Automatic workaround, or error return. Why should non-modal on top of modal work, anyway? /be
Well, because preferences and security dialogs are doing it, hearing my protestations about it, and filing bugs against me when it doesn't work. We're a toolkit after all; maybe our response should be more civil than a broken window. I had in mind detecting the situation (not quite sure how yet) and simply making the new non-modal child window, modal. I hadn't thought about returning an error. Either should be a similar amount of trouble; the difficulty is knowing that the parent is modal at the right place.
Reporter | ||
Comment 7•24 years ago
|
||
I wasn't aware that child windows of modal windows didn't necessarily inherit modality. My mistake. Is there someway we can modify the JavaScript (all the windows are open via window.open from within the security advisor) to force modality?
That's just it; this situation seems to surprise a lot of people, so it wants something done about it. I could make children of modal windows inherit the modality, but since a window's modality status isn't exposed to JS, there's no way I can think of to do this from JS (other than assuming you're modal and opening only modal windows).
Assignee | ||
Comment 10•24 years ago
|
||
Hmmm. The above patch kind of works. It is indeed forcing windows opened from a modal one to themselves be modal, in the sense that code execution stops and an event queue is pushed, but for some reason it doesn't behave modally from a UI standpoint. That's a bit scary. One worries that this leaves open the possibility of closing a stack of modal windows out of order and all that implies. I don't have time to look into why this is right now.
Assignee | ||
Comment 11•24 years ago
|
||
Comment 12•24 years ago
|
||
a=hyatt
Comment 13•24 years ago
|
||
Please spruce up the IDL comments to be proper doc comments (/** ... */), and don't add tabs (it looks like the + lines are indented with tabs). Was CHROME_DEPENDENT not fully implemented before this patch? /be
Assignee | ||
Comment 14•24 years ago
|
||
Alright. I fixed the IDL comment style. I couldn't bring myself to claim every line of the tabbed IDL files, though. If you really want me to do that, I can do it in a separate checkin. And no, CHROME_DEPENDENT was already hooked up. I did allow content windows to be dependent/modal, though. That was for some reason not hooked up.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•