ribbons / RadioDownloader

An easy to use application for managing podcast subscriptions and downloads.
https://nerdoftheherd.com/tools/radiodld/
GNU General Public License v3.0
15 stars 11 forks source link

Suppressed COMExceptions when setting taskbar overlay under Win 7. #122

Closed ribbons closed 11 years ago

ribbons commented 11 years ago

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.

ribbons commented 11 years ago

Original comment from Matt Robinson at 17:29:23 on 2010-08-21

Sorry, typo - that should be issue #80!

ribbons commented 11 years ago

Original comment from Matt Robinson at 19:01:16 on 2010-08-21

Suggestion above to discard COMExceptions from SetOverlayIcon implemented in 6d32a1a.