Closed
Bug 122351
Opened 23 years ago
Closed 23 years ago
Windows 95 doesn't have Shell_NotifyIconW
Categories
(MailNews Core :: Backend, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla0.9.9
People
(Reporter: neil, Assigned: mscott)
References
Details
Attachments
(1 file, 2 obsolete files)
8.39 KB,
patch
|
racham
:
review+
mscott
:
superreview+
|
Details | Diff | Splinter Review |
I can't use Mozilla mail any more :-( The turbo icon uses Shell_NotifyIcon which of course is OK on Windows 95.
Assignee | ||
Comment 1•23 years ago
|
||
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
Comment 2•23 years ago
|
||
Can I get a review for this patch?
Assignee | ||
Comment 3•23 years ago
|
||
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)
Reporter | ||
Comment 5•23 years ago
|
||
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
Assignee | ||
Comment 6•23 years ago
|
||
wow, you should have said so! =). Definetly a blocker then. I'll fix this today.
Assignee | ||
Comment 7•23 years ago
|
||
*** Bug 122452 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 8•23 years ago
|
||
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
Assignee | ||
Comment 9•23 years ago
|
||
*** Bug 122626 has been marked as a duplicate of this bug. ***
Comment 10•23 years ago
|
||
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?
Assignee | ||
Comment 11•23 years ago
|
||
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();
Assignee | ||
Updated•23 years ago
|
Attachment #67131 -
Attachment is obsolete: true
Comment 12•23 years ago
|
||
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+
Assignee | ||
Comment 13•23 years ago
|
||
Comment on attachment 67153 [details] [diff] [review] new cleaner fix had an sr=sspitzer on this
Attachment #67153 -
Flags: superreview+
Assignee | ||
Comment 14•23 years ago
|
||
fix checked in. Hopefully win95 will be useable in tomorrow's builds.
Reporter | ||
Comment 15•23 years ago
|
||
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).
Comment 16•23 years ago
|
||
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
Comment 17•23 years ago
|
||
Sheela: This bug is for Mailnews not starting because of an undefined symbol; not for the symbol not appearing.
Assignee | ||
Comment 18•23 years ago
|
||
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?
Comment 19•23 years ago
|
||
mscott: it's neil who has the problem, not me. sorry if you got the impression
Comment 20•23 years ago
|
||
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
Comment 21•23 years ago
|
||
Mail is working for me on Win95 again!
Reporter | ||
Comment 22•23 years ago
|
||
Mail is now working, so I can start filing new bugs on biff icon issues :-)
Comment 23•23 years ago
|
||
Icon doesn't appear at all on Win98, build 2002020703. If this bug is fixed, where is the Win98 equivalent?
Comment 24•23 years ago
|
||
Dimitros, this bug is for Mailnews not starting on Windows 95, not for a missing icon on Windows 98.
Updated•20 years ago
|
Product: MailNews → Core
Updated•16 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•