Closed ribbons closed 11 years ago
Original comment from Matt Robinson at 17:29:23 on 2010-08-21
Sorry, typo - that should be issue #80!
Original comment from Matt Robinson at 19:01:16 on 2010-08-21
Suggestion above to discard COMExceptions from SetOverlayIcon implemented in 6d32a1a.
Original report from Matt Robinson at 17:28:31 on 2010-08-21
Since implementing bug 153 to display the download status in the taskbar under Windows 7, there have been a small but steady number of error reports of crashes caused by calling the ITaskbarList3::SetOverlayIcon method.
I've investigated, and there doesn't appear to be any particular reason for these crashes, and the correct data appears to be being passed in.
For instance, on startup under Windows 7, SetOverlayIcon is called with the hWnd of the main window, IntPtr.Zero (to indicate no icon should be displayed) and an empty string. This occasionally throws a COMException with the message of "Invalid cursor handle. (Exception from HRESULT: 0x8007057A)", which makes no sense, as the API states that NULL (e.g. IntPtr.Zero in this instance) is a valid value to pass.
As the fault appears (at least at the moment) to be within the API call itself, the call should catch and discard COMExceptions (especially as the only downside may be an overlay icon not displaying).
Imported from Bug 306 in the NerdoftheHerd.com Bugzilla.