Mike Hearn mike@theoretic.com writes:
+#define MAX_TRAY_ICONS 256 +int undockedTrayIconsCount = 0; +static HWND undockedTrayIcons[MAX_TRAY_ICONS]; /* stores HWNDs of undocked tray windows when a
NETWM tray window appears, we can dock */
You shouldn't use a global array here. This is not thread safe, plus you'd need to keep track of window destruction to remove them from the array. The right way IMO would be to walk the window tree checking for WS_EX_TRAYWINDOW at the time a tray window appears.