Closed Bug 44714 Opened 24 years ago Closed 21 years ago

Icons not changed from IE to Mozilla when set in Desktop Integration (.url icons) (Internet shortcuts)

Categories

(SeaMonkey :: UI Design, defect, P5)

x86
Windows NT
defect

Tracking

(Not tracked)

RESOLVED FIXED
Future

People

(Reporter: elig, Assigned: jonwil)

References

Details

Attachments

(1 file, 3 obsolete files)

* TITLE/SUMMARY
Icons not changed from IE to Mozilla when set in Desktop Integration

* STEPS TO REPRODUCE
0) Launch Internet Explorer 
1) Make it your default browser, located in preferences | programs .
2) Quit Internet Explorer. Launch Internet Explorer a second time, making it your 
default browser when prompted. 
	--> Notice that documents such as .html and .gif files now have an Internet 
Explorer logo. 
3) Launch mozilla 
4) Open preferences | Advanced | desktop integration 
5) Set mozilla to be the default application for the file types that you viewed 
in step 2. 
6) Quit mozilla, and restart your computer. 

* RESULT
 - What happened

The icons continue to evidence the Internet Explorer logo, rather than a Netscape 
or mozilla logo. 

 - What was expected 

The Internet Explorer icons should be replaced with Netscape or mozilla icons for 
the file types that mozilla now handles by default. 

* REGRESSION

 - Occurs On
        Mac OS Seamonkey (7.6.2000 Netscape Commercial build)		

 - Doesn't Occur On
        Internet Explorer 5.0 RTM




* CONFIGURATIONS TESTED

- [Mac] Power Mac G4 (450 Mhz), 256 MB RAM (VM off), 1024x768 (Thousands of 
Colors), Mac OS 9.0

- [Win32] Vectra VL (266 MHz P2), 96 MB RAM, 800x600 (True Color), NT 4.0 SP5.

- [Linux] Vectra VL (266 MHz P2), 96 MB RAM. Red Hat Linux 6.0 (GNOME).
OS: Mac System 8.5 → Windows NT
Hardware: Macintosh → PC
*** Bug 43715 has been marked as a duplicate of this bug. ***
cc
nominating for beta3

43715, a dup of this, was nominated for beta2 but I don't think we need to 
spend time on this for 2.
Keywords: nsbeta3
eli, does this occur on both Mac and win32, or only the mac? the os/platform
differ from the bug details entered --just wondering. thx!
QA Contact: sairuh → jrgm
Eli, if this only occurs on Mac then we're not going to fix it.  If it occurs on
Windows, then that's a bug.  This is a non-issue on Linux.

Can you get me some more data and re-assign this back to me?
Assignee: don → elig
It occurs on Windows.
Assignee: elig → don
Oops. Sorry, I was blowing out so many bugs so quickly that I flubbed. 

Desktop Integration is a Windows-only feature, so, yes, you're all correct.
OK, I've marked this "b3nav+" and "correctness" (in the hope that the PDT will 
mark this "nsbeta3+") because the program is not fucntioning in a very visible 
manner.
Assignee: don → law
Keywords: correctness
Whiteboard: [b3nav+]
Target Milestone: --- → M20
Whiteboard: [b3nav+] → [nsbeta3+]
Priority: P3 → P2
Whiteboard: [nsbeta3+] → [nsbeta3+][easy]
PDT agrees P2
Whiteboard: [nsbeta3+][easy] → [nsbeta3+][easy][PDTP2]
Let's fix this in RTM.
Keywords: rtm
Whiteboard: [nsbeta3+][easy][PDTP2] → [nsbeta3-][easy][PDTP2][rtm+]
nav triage team:
[RTM NEED INFO] looking for a patch to fix this
Whiteboard: [nsbeta3-][easy][PDTP2][rtm+] → [nsbeta3-][easy][PDTP2][RTM NEED INFO]
Fix in hand, being reviewed.
Whiteboard: [nsbeta3-][easy][PDTP2][RTM NEED INFO] → [nsbeta3-][easy][PDTP2][RTM NEED INFO]Fix in hand, being reviewed
The fix for this is also in the fix for bug #27187.  Should this be closed as a dup?
Depends on: 27187
The fix for this is reviewed and approved in bug #27187 (also now "rtm+").
Whiteboard: [nsbeta3-][easy][PDTP2][RTM NEED INFO]Fix in hand, being reviewed → [nsbeta3-][easy][PDTP2][rtm+]Fix in hand, reviewed and approved
This is fixed on the trunk.
rtm++ since I just marked the other one rtm++
Whiteboard: [nsbeta3-][easy][PDTP2][rtm+]Fix in hand, reviewed and approved → [nsbeta3-][easy][PDTP2][rtm++]Fix in hand, reviewed and approved
Fix checked in on branch.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Mea culpa for not fully checking this until now. I was seeing the icons change
in passing, but looking now, I don't fully get this to change over. I think
I need to speak with you tomorrow about what is supposed to occur, when in 
terms of icons being swapped in. 

But the larger problem, not really what this bug was about, but related to it, 
si that I am getting an error message when double clicking files and shortcuts 
when Mozilla/Netscape is registered as the handler for that type -- Seamonkey 
will load the content but it also forces an OS alert (on win2k and win98) that, 
quote:

  "Cannot find the file "the-URL-of-the-shortcut" (or one of its components).
   Make sure that the path and filename are correct and that all required
   libraries are available."

Reopening this bug just to get this back on the radar (I suck).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Marking [rtm need info] since it was reopened
Whiteboard: [nsbeta3-][easy][PDTP2][rtm++]Fix in hand, reviewed and approved → [nsbeta3-][easy][PDTP2][rtm need info]Fix in hand, reviewed and approved
Sigh.  See bug 58848; the message box is covered there.  The icons are just
another symptom of the same Win32 quirks as described there.  Sometimes the
icons change, sometimes they don't.  If you edit the File Type info in windows
and manually select the icon, Windows sets the registry to exactly what it was
already (but now it works).

This mystery will not be solved for rtm.  Recommend [rtm-] at this point.
Status: REOPENED → ASSIGNED
Agreed.  Minus.
Whiteboard: [nsbeta3-][easy][PDTP2][rtm need info]Fix in hand, reviewed and approved → [nsbeta3-][easy][PDTP2][rtm-]Fix in hand, reviewed and approved
nav triage team:

Would like to fix this for beta1, but very low priority. Nsbeta1, p5
Keywords: nsbeta1
Priority: P2 → P5
Target Milestone: --- → Future
Keywords: nsbeta1nsbeta1-
moving Windows Integration [formerly Desktop Integration] bugs to PaulW as qa
contact.
QA Contact: jrgm → paw
Removing adequated PDT grafitti.
Whiteboard: [nsbeta3-][easy][PDTP2][rtm-]Fix in hand, reviewed and approved → Fix in hand, reviewed and approved
Changing qa contact to me, as I am working on these now ;-)
QA Contact: paw → tpreston
*** Bug 156140 has been marked as a duplicate of this bug. ***
*** Bug 139669 has been marked as a duplicate of this bug. ***
qa contact windows integration-> pmac
QA Contact: tpreston → pmac
*** Bug 184924 has been marked as a duplicate of this bug. ***
*** Bug 182319 has been marked as a duplicate of this bug. ***
*** Bug 150335 has been marked as a duplicate of this bug. ***
Flags: blocking1.4a?
Summary: Icons not changed from IE to Mozilla when set in Desktop Integration → Icons not changed from IE to Mozilla when set in Desktop Integration (.url icons) (Internet shortcuts)
Flags: blocking1.4a? → blocking1.4a-
You can fix the bug with the wrong icon for ".url"-files with this:

Set this list of registry-keys

HKEY_CLASSES_ROOT\http\DefaultIcon
HKEY_CLASSES_ROOT\https\DefaultIcon
HKEY_CLASSES_ROOT\ftp\DefaultIcon
HKEY_CLASSES_ROOT\gopher\DefaultIcon
HKEY_CLASSES_ROOT\mailto\DefaultIcon

to

%MozillaEXEPath%,0
Is Bill Law still with the Mozilla Project? Should he still be assigned to the bug?
Flags: blocking1.4b?
Keywords: nsbeta1
Flags: blocking1.4b? → blocking1.4b-
Attached patch patch (obsolete) — Splinter Review
This patch fixes the icon problem.
Basicly, I cloned ProtocolRegistryEntry and made it so it would set the icon
registry keys properly.
Also, the patch corrects a small typo I found, ddexec instead of ddeexec. Plus,
it changes the call to RegSetValueEx to correct a compiler warning about
passing a NULL as a non-pointer type (as per what MSDN says to do, it now
passes 0, not NULL)

2 other issues:
1.Given that nswindowshooksutil.cpp is only ever used as a #include to
nswindowshooks.cpp, shouldnt it be nswindowshooksutil.h?
and 2.line 543 of nswindwshooks.cpp says "convert to dword" but then it doesnt
do anything with the resulting dword (the variable called dwordValue). Should
it be doing something with that value or should it be removed?
Attachment #121781 - Flags: superreview?(dbaron)
Attachment #121781 - Flags: review?(cls)
Comment on attachment 121781 [details] [diff] [review]
patch

+    nsresult set();
+    nsresult reset();
+};

Why are you overriding set and reset if the implementations of them just call
SavedRegistryEntry::set/reset anyway?
Attachment #121781 - Flags: review?(cls)
Flags: blocking1.4?
Attached patch patch v2 (obsolete) — Splinter Review
removed ProtocolIconRegistryEntry::Set and ::Reset
Attachment #121781 - Attachment is obsolete: true
Attachment #121824 - Flags: superreview?(blaker)
Attachment #121824 - Flags: review?(jaggernaut)
assinging to me
Assignee: law → jonwil
Status: ASSIGNED → NEW
Keywords: nsbeta1
Whiteboard: Fix in hand, reviewed and approved
Attachment #121824 - Flags: superreview?(blaker) → superreview?(roc+moz)
Attachment #121824 - Flags: review?(jaggernaut) → review?(bzbarsky)
Comment on attachment 121824 [details] [diff] [review]
patch v2

Hmm... Wouldn't it be better to do this inside the ProtocolRegistryEntry
set/reset methods like we do for the DDE stuff?  (mind you, this is the first
time I look at the code).

Also:

foo = NS_LITERAL_CSTRING("bar") + baz + NS_LITERAL_CSTRING("end");

instead of using += a bunch.

Finally, the "+// Set/reset are trickier in this case." comment hardly applies
here, does it?	We're using the set/reset from the base class....
Attached patch patch v3 (obsolete) — Splinter Review
Fixed so that it does it inside ProtocolRegistryEntry::Set and ::Reset.
Removed that comment.
As for +=, thats how ProtocolRegistryEntry does it so I am assuming that there
is a reason for why its done that way and therefore why it should be done that
way for ProtocolIconRegistryEntry also.

Also, can anyone comment on:
1.Given that nswindowshooksutil.cpp is only ever used as a #include to
nswindowshooks.cpp, shouldnt it be nswindowshooksutil.h?
and 2.line 543 of nswindwshooks.cpp says "convert to dword" but then it doesnt
do anything with the resulting dword (the variable called dwordValue). Should
it be doing something with that value or should it be removed?
Attachment #121824 - Attachment is obsolete: true
Attachment #121878 - Flags: superreview?(roc+moz)
Attachment #121878 - Flags: review?(bzbarsky)
Attachment #121781 - Flags: superreview?(dbaron)
Attachment #121824 - Flags: superreview?(roc+moz)
Attachment #121824 - Flags: review?(bzbarsky)
> As for +=, thats how ProtocolRegistryEntry does it so I am assuming that there
> is a reason for why its done that way

Yeah.  The reason is that the author of that code didn't have a clue how to use
the Mozilla string classes.

Other than that issue, the patch looks fine and I could sr it.  But you need
review from whoever actually owns this code....
After staring at the code in nswindowshooks.cpp and nswindowshooksutil.cpp, I
can see that the best solution is to re-code both files to use proper string
handling throughout. However, thats not what this bug (and fix) is about. This
fix is a fix to write as little code as possible to get the icons displaying,
something that can get R=, SR= and A= and get into 1.4. Not displaying the
proper icons for these things is a very visible problem (in fact, it might lead
some people to believe that mozilla hasnt in fact set itself to be the handler
for these types)
If the "powers that be" want me to fix specific uses of strings in my patch,
please tell me what specific uses to fix & I will do it.
But its not my job to re-write code that Bill Law should have written properly
in the first place.
Attached patch patch v4Splinter Review
Sorry for anything I said in the last comment, I wasnt thinking straight.
(blame it on personal issues)
I have fixed the one specific item bz mentioned and have filed bug 203644 to
cover the general case of re-writing all of the old code (written by Law) to
use proper string handling.
Attachment #121878 - Attachment is obsolete: true
Attachment #121878 - Flags: superreview?(roc+moz)
Attachment #121878 - Flags: review?(bzbarsky)
Attachment #121900 - Flags: superreview?(bzbarsky)
Attachment #121900 - Flags: review?(sgehani)
Attachment #121900 - Flags: review?(hewittjp)
Attachment #121900 - Flags: review?(hewittjp)
Comment on attachment 121900 [details] [diff] [review]
patch v4

Excellent.  sr=me (and yes, I wasn't saying you need to fix all the existing
code.  ;)
Attachment #121900 - Flags: superreview?(bzbarsky) → superreview+
Attachment #121900 - Flags: review?(sgehani) → review+
Attachment #121900 - Flags: approval1.4b?
Comment on attachment 121900 [details] [diff] [review]
patch v4

a=sspitzer, I assume if we are no longer the default browser, the right thing
happens?
Attachment #121900 - Flags: approval1.4b? → approval1.4b+
Yes, the right thing happens. The icon registry entries are returned to what
they were.
Using a 4/29 build in Windows 98, new .url icons are created with a Mozilla
icon. OTOH, .url icons that already existed on the Windows desktop when I
installed the 4/29 build were not automatically switched to Mozilla icons. They
are still IE icons. This is even though I made the 4/29 build the default browser. 

If I go to Properties of the desktop .url icons, I can change the icon to the
Mozilla icon. 

Not sure whether this is a problem or not.

In any case, I want to express my thanks to the developers, including Jonathan
Wilson.
Patch has been checked in:
25/2  	Bug 44714 Icons not changed from IE to Mozilla when set in Desktop
Integration (.url icons) (Internet shortcuts)
patch by jonwil@tpgi.com.au r=sgehani sr=bz a=sspitzer

Old version: 1.24
New version: 1.25

Thanks jonwil for fixing this :)!
Status: NEW → RESOLVED
Closed: 24 years ago21 years ago
Resolution: --- → FIXED
Re: my comment in comment 46

At some point, all of the icons suddenly switched to Mozilla icons. Looks like
everything is indeed working fine. Thanks again!
Flags: blocking1.4?
Product: Core → Mozilla Application Suite
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: