Closed Bug 127783 Opened 23 years ago Closed 22 years ago

Preferences cannot be closed after visiting Languages/Content and one more panel.

Categories

(SeaMonkey :: Preferences, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: andre.bugs2, Assigned: dbragg)

References

Details

Attachments

(1 file)

[Using a CVS build from a few hours ago]

Here is yet another bug of type "cannot close preferences..." to add as a
dependency for bug 40891.

Steps to reproduce:

1) Go to Edit->Preferences.
2) Expand Appearance and click on Languages/Content.
3) Click on Appearance (or any other panel I assume).
4) Try to close Preferences by clicking OK.

Result: The Preferences dialog is not closed on pressing OK.

I am pretty sure this started happening after the changes to the
Languages/Content panel that happened after 0.9.8. Probably related to the work
on bug 91721. Maybe this change:

http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=SeaMonkeyAll&branch=HEAD&branchtype=match&dir=mozilla%2Fxpfe%2Fcomponents%2Fprefwindow%2Fresources%2Fcontent%2F&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=02%2F18%2F2002+15%3A31&maxdate=02%2F18%2F2002+15%3A31&cvsroot=%2Fcvsroot

By the way, these kind of bugs seams to happen very often when something gets
changed or added on one of the panels. To avoid this in the future, could
Preferences hackers be educated on why this really happens?
Blocks: 40891
Adding dbragg@netscape.com to CC to check if his checkin could have caused this.
This pref panel is owned by international folks per pref ownership model.  Don
seems to be working in this codebase these days so assigning to him (for his
team to triage).  Try moving the JS into its own file so when the XUL is
unloaded the function isn't undefined.
Assignee: sgehani → dbragg
This is shown on the Javascript Console each time you press OK after the
mentioned steps:

Error: SwitchContentPack is not defined
Source File: chrome://content-packs/content/pref-contentpacks.xul   Line: 69
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8+) Gecko/20020224
I see this too.  I also get this with build 20020222.  Build 20020220 has more
serious problems before it gets to that point in the .xul file.  Build 20020218
(before checkin of 91721) does not have this problem.

I can "fix" the error this by moving SwitchContentPack and SwitchLanguagePack
inside of SwitchPacks:  can xul-embedded JavaScript functions call other
xul-embedded functions in the same file?

also note that line 105 (of pref-contentpacks.xul) does not have a semicolon.
Yes, I'm sure this is related to 91721 but exactly how I don't know yet.  

Andrew, when you say you can fix the error, does this actually fix the problem
of the Ok button too?  Or does it just fix the undefined js error?
Yes, the "OK" button worked in that the pref window closed.  But, I didn't have
any additional content packs, so that wasn't a full test.
I haven't be able to find out why calling 2 functions works if you just go into
the Languages & Content pane and don't visit other panes, but then stops
working if you visit other panes.  I assume it has something to do with
caching.

Oh well.  This patch fixes the problem.  I moved the code that was in 2
separate functions (SwitchContentPack(), and SwitchLanguagePack()) into the
single function SwitchPacks().	I tested this by:
1. going into the L&C pane and clicking Ok.
2. going into the L&C pane and then clicking on Navigator (and other) panes
then clicking Ok in that other pane.
3. going into the L&C pand and then clicking on many other panes then coming
back to L&C and clicking Ok.
4. general clicking around in the preference panes (always including the L&C
pane) and finally clickin Ok.

These all passed.
*** Bug 128957 has been marked as a duplicate of this bug. ***
There's a screencap of the js console errors in the dupe I filed. Perhaps it's
time to look in to some better fallback means for JS errors in prefs? Every
month there's a new bug that prevents prefs from being closed, and loses all
your changes.
*** Bug 130168 has been marked as a duplicate of this bug. ***
*** Bug 130240 has been marked as a duplicate of this bug. ***
os: linux -> all
OS: Linux → All
Keywords: nsbeta1+
*** Bug 130374 has been marked as a duplicate of this bug. ***
*** Bug 127410 has been marked as a duplicate of this bug. ***
*** Bug 130204 has been marked as a duplicate of this bug. ***
Comment on attachment 71889 [details] [diff] [review]
SwitchPacks() changed

r=tao
Attachment #71889 - Flags: review+
Comment on attachment 71889 [details] [diff] [review]
SwitchPacks() changed

you're going to cause all kinds of javascript warnings with this patch, because
you're now redeclaring oldLanguagePack, etc.
Attachment #71889 - Flags: needs-work+
Comment on attachment 71889 [details] [diff] [review]
SwitchPacks() changed

oops, my bad. oldLanguagePack != oldContentPack

Anyway, sr=alecf
Attachment #71889 - Flags: needs-work+ → superreview+
*** Bug 131253 has been marked as a duplicate of this bug. ***
*** Bug 131302 has been marked as a duplicate of this bug. ***
Comment on attachment 71889 [details] [diff] [review]
SwitchPacks() changed

a=scc
Attachment #71889 - Flags: approval+
Fix checked in.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
*** Bug 132237 has been marked as a duplicate of this bug. ***
Verified with CVS build from 2002-03-20-21 on Linux.
Status: RESOLVED → VERIFIED
*** Bug 132556 has been marked as a duplicate of this bug. ***
*** Bug 133033 has been marked as a duplicate of this bug. ***
*** Bug 135347 has been marked as a duplicate of this bug. ***
*** Bug 136510 has been marked as a duplicate of this bug. ***
*** Bug 137409 has been marked as a duplicate of this bug. ***
*** Bug 137983 has been marked as a duplicate of this bug. ***
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: