Closed Bug 122351 Opened 24 years ago Closed 24 years ago

Windows 95 doesn't have Shell_NotifyIconW

Categories

(MailNews Core :: Backend, defect)

x86
Windows 95
defect
Not set
blocker

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.9

People

(Reporter: neil, Assigned: mscott)

References

Details

Attachments

(1 file, 2 obsolete files)

I can't use Mozilla mail any more :-( The turbo icon uses Shell_NotifyIcon which of course is OK on Windows 95.
this is not a blocker. Why would this stop you from using the product if it never even worked for anyone until Monday anyway =). We'll take a look in the next milestone.
Severity: blocker → normal
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.9
Attached patch suggested patch (obsolete) — Splinter Review
Can I get a review for this patch?
sorry your patch breaks I18N since it no longer allows us to use the wide string friendly APIs. We'll have to investigate another solution to make this work on win95 (i.e. only use the ascii versions if the widestring routine is not defined)
change qa contact.
QA Contact: esther → sheelar
I submitted this as a blocker because it's not just a broken feature but becuase this stops msgbase.dll from loading which breaks all of Mozilla mail. If you are able to come up with a workaround which denys me the one feature, then that remaining problem would be normal.
Severity: normal → blocker
wow, you should have said so! =). Definetly a blocker then. I'll fix this today.
*** Bug 122452 has been marked as a duplicate of this bug. ***
This patch should fix the problems for those who are running with an older version of the shell which doesn't contain wide string support for shell notify. Basically I dynamically look inside the shell DLL for Shell_NotifyW. If it's defined then we use the wide string friendly struct along with the function ptr to Shell_NotifyW. If we can't find that method then we use the non wide string struct in conjunction with the standard ::Shell_Notify APIs which all versions of the shell support. It's a bit messy since I maintain 2 structs and have several if branches which depend on whether we are doing wide string or not but that's the only way I could think to do it.
Attachment #66923 - Attachment is obsolete: true
*** Bug 122626 has been marked as a duplicate of this bug. ***
Suggestion: Add a function to that file, like static BOOL myNotifyIcon(DWORD message, PNOTIFYICONDATAW nid); This function creates a NOTIFYICONDATA from NOTIFYICONDATAW and uses it to call Shell_NotifyIcon. In the constructor, if you can't find Shell_NotifyIconW in the DLL, you set the function pointer to myNotifyIcon. This saves you from the two structs and the branches. What's your opinion?
Attached patch new cleaner fixSplinter Review
thanks for your suggestion. I still decided to go with having 2 structs around but your comments made me think to add a level of abstraction to hide the if clauses from the rest of the class. In this new patch we have the following abstraction layer: void GenericShellNotify(DWORD aMessage); void SetToolTipStringOnIconData(const PRUnichar * aToolTipString); void DestroyBiffIcon(); PRUint32 GetToolTipSize();
Attachment #67131 - Attachment is obsolete: true
Comment on attachment 67153 [details] [diff] [review] new cleaner fix I like the the abstraction you have added. It makes the code clean and very easy to manage. r=bhuvan.
Attachment #67153 - Flags: review+
Comment on attachment 67153 [details] [diff] [review] new cleaner fix had an sr=sspitzer on this
Attachment #67153 - Flags: superreview+
fix checked in. Hopefully win95 will be useable in tomorrow's builds.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Keywords: nsbeta1+
Resolution: --- → FIXED
I'll be sure to try this tomorrow once I've downloaded a new nightly but in the meantime I thought I'd be nitpicking and ask why you have this code: if (mShellNotifyWideChar) mUseWideCharBiffIcon = PR_TRUE and then test if (mUseWideCharBiffIcon) when it would appear that you could change all those tests to if (mShellNotifyWideChar).
I downloaded a build from this morning (2002-01-31-06) on win98 and winME. I still don't see the mail notification icon in the system tray. I will check this on win95 and update the bug
Sheela: This bug is for Mailnews not starting because of an undefined symbol; not for the symbol not appearing.
scottip says this fixed the problem on Win NT where we weren't getting the icons. Christian, how is win95 looking for you? Is the missing symbol gone, allowing you to run mail again?
mscott: it's neil who has the problem, not me. sorry if you got the impression
Found a machine with win95. Real slow one:( 2002-01-31-06 win95 commercial build I was able to use mail application with turbo on. I was able send messages. I also could see the mail notification icon in the system tray. Scott, This seemed to have fixed win95. But winME and win98 still not working. verifying this bug for win95
Status: RESOLVED → VERIFIED
Mail is working for me on Win95 again!
Mail is now working, so I can start filing new bugs on biff icon issues :-)
Icon doesn't appear at all on Win98, build 2002020703. If this bug is fixed, where is the Win98 equivalent?
Dimitros, this bug is for Mailnews not starting on Windows 95, not for a missing icon on Windows 98.
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: