Closed Bug 195888 Opened 21 years ago Closed 21 years ago

Problems when dialogs launch help

Categories

(SeaMonkey :: Help Documentation, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: neil, Assigned: oeschger)

References

Details

Attachments

(1 file)

Steps to reproduce problem:
1. Open Editor
2. Open a dialog, such as Insert Link
3. Click Help

Expected results: Can switch back to dialog while help is open

Actual results: Dialog is inaccessible/unresponsive while help is open

On Linux you can raise the dialog above help but it is still unresponsive.
Attached patch Proposed patchSplinter Review
An additional benefit is that passing the parameters as a parameter block
instead of encoded in the URI allows the code to be simplified.
Attachment #116192 - Flags: review?(oeschger)
Comment on attachment 116192 [details] [diff] [review]
Proposed patch

nice looking, neil. thanks. r=oeschger
Attachment #116192 - Flags: review?(oeschger) → review+
Update QA contact
QA Contact: tpreston → sairuh
Attachment #116192 - Flags: superreview?(alecf)
Comment on attachment 116192 [details] [diff] [review]
Proposed patch

ugh, why go through nsIDialogParamBlock when you're just going from JS=>JS ? 

Instead, just pass them as arguments to window.open and let the consumer use
window.arguments[0], and window.arguments[1]
Attachment #116192 - Flags: superreview?(alecf) → superreview-
Comment on attachment 116192 [details] [diff] [review]
Proposed patch

I can't open a window from a dialog (any window opened from modal window is
automatically modal) so I need to use the WindowWatcher interface. This only
takes a single parameter which has to be an nsISupports or an nsISupportsArray
neither of which is directly suitable for passing strings.
Attachment #116192 - Flags: superreview- → superreview?
Bug 161342 (which this bug is a duplicate of, by the way) explains why the help
window is modal. Follow its links to other bugs for a reading extravaganza.

That said the patch in this bug is probably a fine fix. We should have thought
of that. It avoids the 161342 modality problem by severing all contact between
the help window and the dialog which launched it. It also bypasses a bunch of
wrapper code in window.open but at time of writing this shouldn't hurt anything.
Calling WindowWatcher directly is acceptable and should remain so.

Two things: please add a comment; something like what I just said. You're using
a backdoor and it should be noted in the code. Also consider adding alwaysRaised
to the help window featureset:

+ ww.openWindow(null, MOZ_HELP_URI, "_blank", "chrome,all,dialog=no", params);

+ ww.openWindow(null, MOZ_HELP_URI, "_blank",
+               "chrome,all,alwaysRaised,dialog=no", params);

(see bug 136647).
Ah, so could this break bug 87720?
Attachment #116192 - Flags: superreview? → superreview?(alecf)
well... I encourage you to try it first. But no, I'd be surprised if this
affected 87720, which was a correction for a previous attempt to solve this same
problem in a very different way.
Comment on attachment 116192 [details] [diff] [review]
Proposed patch

Ugh, more nsIDialogParamBlock! one of these days I've got to fix bug 194289

sr=alecf
Attachment #116192 - Flags: superreview?(alecf) → superreview+
Attachment #116192 - Flags: approval1.4a?
Comment on attachment 116192 [details] [diff] [review]
Proposed patch

please land first thing in beta. thanks.
Attachment #116192 - Flags: approval1.4a? → approval1.4a-
Fix checked in.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
this now works for win2k and linux (rh8.0), but this is still a problem on OS X.
is that expected, on mac, since mac uses sheets for such dialogs?
OS: Windows 95 → All
*** Bug 99284 has been marked as a duplicate of this bug. ***
*** Bug 161342 has been marked as a duplicate of this bug. ***
v
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: