reactosfanboy 2018-01-16: by request of gigaherz, here are some TestCases for our tryntfy.cpp and how it handles the icon list. Defintions: ========== _EasyApp_ is an application that does never use NIS_SHAREDICON or NIS_HIDDEN (or combinations of them). Examples: our keyb.exe to switch the keyboard layouts, our in-built tray-helpers for mixer or battery 90% of the apps in the wild our! taskmgr _NastyApp_ is an application that uses NIS_SHAREDICON or NIS_HIDDEN or both. Examples: win2k3 taskmgr winXP taskmgr the per-connection network icons of 2k3/XP (i guess those of vista+ work differently!!!) TightVNC 2.7.10 from rapps Abyss WebServer from rapps uTorrent 3.4.7 BitTorrent 7.9.6 Pidgin 2.10.12 from rapps ----------------------------------------------------------------------------------------------------------------------- The current state of our [EXPLORER] trayntfy.cpp from 0.4.8-dev-676-ge0498ca works very good in ros AND windows as long as only EasyApps are populating the notification area (systray). As soon as at least one NastyApp is used, it starts to misbehave on Windows and on ros with one of the symptoms below: Symptoms ======== 1.) Apps that use shared icons might not show their icon. It is displayed blank instead. 2.) Apps that use shared icons might show their icons multiple times. Structure is already corrupted then. 3.) "Icon Crosstalk": After having added or removed a shared or hidden icon once, other - even Easyapps - might see changes in their icons. E.g. you may see an icon transferring its contents to its left neighbor from another app. The structure is already corrupted then. If you have ever experienced one of those situations that are currently 0.4.8-dev-676-ge0498ca only ever created after having had added a shared/hidden icon, EXPECT THE STRUCTURE TO BE CORRUPTED. Do not expect any consecutive tests to be performed correctly. -------------------------------------------------------------------------------------------------------------------------- TestCases Windows: ========== A When using our explorer.exe on Windows XP or 2003 the network icons of XP/2k3 will be shown doubled (Symptom 2) All hope is lost already then to do any other test successfully later. The fixed implementation would be able to consecutively add several network adapters and remove them again without seeing 1.),2.) or 3.) B When using our explorer.exe on Windows XP or 2003 and using the taskmgr of 2k3/XP (NOT OUR OWN) - we'll see symptom 2. All hope is lost already then to do any other test successfully later. The fixed implementation would be able to have only a single icon which properly shows the actual CPU load in a single icon without seeing 1.),2.) or 3.) C TightVNC 2.7.10 setup should complete and show the TightVNC icon in tray in Windows. When being closed neither 1,2,3 must happen. D Try to combine A and B under Windows. Open 2k3-taskmgr. Then add 3 network adapters iteratively. Then remove 3 network adapters iteratively. Then close the 2k3-taskmgr. all A-D fail currently fail under Windows and under ros with 0.4.8-dev-676-ge0498ca. We should first fix A-D on Windows. If that succeeds - and not a minute earlier, we should try the same on ros! Additional logging for NIS_SHAREDICON and NIS_HIDDEN bits are very much recommended.