Closed
Bug 255332
Opened 21 years ago
Closed 17 years ago
Warning: reference to undefined property Components.classes['@mozilla.org/winhooks;1']
Categories
(SeaMonkey :: General, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
seamonkey2.0a1
People
(Reporter: timeless, Unassigned)
References
()
Details
Attachments
(2 obsolete files)
Warning: reference to undefined property
Components.classes['@mozilla.org/winhooks;1']
Source File: chrome://communicator/content/pref/platformPrefOverlay.xul
Line: 98
Steps:
1. don't build winhooks
2. run mozilla
3. open prefs
The code should use a try block, it could also be written:
if (("nsIWindowsHooks" in Components.interfaces) &&
("@mozilla.org/winhooks;1" in Components.classes))
try {
var winhooksService =
Components.classes["@mozilla.org/winhooks;1"].getService(Components.interfaces.nsIWindowsHooks);
parent.isTurboEnabled = winhooksService.isOptionEnabled("-turbo");
document.getElementById("enableTurbo").checked = parent.isTurboEnabled;
} catch (e) {};
Each instance of code that checks for winhooks should be audited.
xpfe/browser/resources/content/navigator.js is ok
xpfe/communicator/resources/content/nsContextMenu.js is not ok
xpfe/components/prefwindow/resources/content/pref-winhooks.js is silly (it null
checks something which will not be null - an exception is throw instead...)
xpfe/components/prefwindow/resources/content/pref-advanced.xul is not ok
xpfe/components/winhooks/nsSetDefaultBrowser.js does not sound quite right
Comment 1•21 years ago
|
||
Comment 2•21 years ago
|
||
Attachment #155919 -
Attachment is obsolete: true
Updated•21 years ago
|
Attachment #155938 -
Flags: review?(timeless)
Attachment #155938 -
Flags: review?(timeless) → superreview?(neil.parkwaycc.co.uk)
Comment 3•21 years ago
|
||
Comment on attachment 155938 [details] [diff] [review]
Patch try #2
>- var isWin = navigator.appVersion.indexOf("Windows") != -1;
>+ var isWin = (("nsIWindowsHooks" in Components.interfaces) && ("@mozilla.org/winhooks;1" in Components.classes));
Surely even timeless can't lose his windows hooks in between showing the
menuitem and clicking on it?
>- var winhooks = Components.classes[ "@mozilla.org/winhooks;1" ].
>- getService(Components.interfaces.nsIWindowsHooks);
>+ if (("nsIWindowsHooks" in Components.interfaces) &&
>+ ("@mozilla.org/winhooks;1" in Components.classes)) {
>- if (navigator.platform != "Win32") {
>+ if (navigator.platform != "Win32" || !(("nsIWindowsHooks" in Components.interfaces) &&
>+ ("@mozilla.org/winhooks;1" in Components.classes))) {
You don't need to test for Win32 here; other platforms won't have the winhooks
component.
>- var winhooksService = Components.classes["@mozilla.org/winhooks;1"].getService(Components.interfaces.nsIWindowsHooks);
>- if (winhooksService) {
>- parent.isTurboEnabled = winhooksService.isOptionEnabled("-turbo");
>- document.getElementById("enableTurbo").checked = parent.isTurboEnabled;
>+ if (("nsIWindowsHooks" in Components.interfaces) &&
>+ ("@mozilla.org/winhooks;1" in Components.classes)) {
How is timeless going to lose his windows hooks now? By stepping through with
Venkman?
>+ if (("nsIWindowsHooks" in Components.interfaces) &&
>+ ("@mozilla.org/winhooks;1" in Components.classes)) {
How does timeless manage to install winhooks/nsSetDefaultBrowser.js without the
rest of winhooks?
sr=me on what's left of the patch ;-)
Attachment #155938 -
Flags: superreview?(neil.parkwaycc.co.uk) → superreview-
Comment 4•21 years ago
|
||
ok, someone else can work on a patch ;-) (really), the problems of timeless are
"silly" :)
Updated•21 years ago
|
Product: Core → Mozilla Application Suite
Comment 5•17 years ago
|
||
Filter "spam" on "guifeatures-nobody-20080610".
Assignee: guifeatures → nobody
QA Contact: guifeatures
Updated•17 years ago
|
Attachment #155938 -
Attachment is obsolete: true
Comment 7•17 years ago
|
||
I assume this is "R.Fixed" by bug 441050 and bug 364168.
Frank (, Neil), can you verify this resolution ?
And that there was nothing in the patch that would still be wanted.
Status: NEW → RESOLVED
Closed: 17 years ago
Component: UI Design → General
Depends on: 364168
QA Contact: ui-design → general
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.0alpha
Updated•17 years ago
|
Flags: in-testsuite-
Comment 9•17 years ago
|
||
In theory you could morph this bug into the shell service equivalent - currently nsContextMenu assumes that the shell service exists on and only on Windows - but I think we're better off with a new bug.
You need to log in
before you can comment on or make changes to this bug.
Description
•