dlls/winex11.drv: Redock system tray icons if panel is restarted

Andreas Fink andreas.fink85 at googlemail.com
Fri Aug 20 09:45:29 CDT 2010

This patch adds the ability for wine system tray icons (as for example uTorrent) to be readded to the systemtray if the
systemtray is restarted. This tries to resolve bug http://bugs.winehq.org/show_bug.cgi?id=20964

There are at least 2 limitations/problems:
1. An X11-systemtray has to be running in the first place (otherwise wine is adding the icon to the internal system tray, and the
icon will never be added to the X11-systemtray)
2. XSelectInput(display, root_window, StructureNotifyMask) in the file x11drv_main.c is called for every X11 display wine opens,
but it only needs to be called for the systemtray controlling one (I guess explorer.exe, but I did not dig deep enough through the
wine code). Anyway this does not change any behaviour, except that we are calling the function X11DRV_DockAllTrayIcons(void)
where the systray icon_list is empty.

Another thing that maybe is not considering the coding guidelines is adding the function prototype X11DRV_DockAllTrayIcons(void)
to dlls/winex11.drv/x11drv.h but otherwise I did not know how to let the systray know, that a new systemtray did register (in
event.c we get the notification).
Should I also upload the patch to bugzilla, or is it enough to send it to this mailing list? Please also CC me for all messages
related to this patch.


 dlls/winex11.drv/event.c       |   14 +++++++++++++-
 dlls/winex11.drv/systray.c     |    9 +++++++++
 dlls/winex11.drv/x11drv.h      |    3 +++
 dlls/winex11.drv/x11drv_main.c |    2 ++
 4 files changed, 27 insertions(+), 1 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Dock-tray-icons-again-whenever-the-root-window-recei.patch
Type: text/x-patch
Size: 3456 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20100820/b263f8fd/attachment.bin>

More information about the wine-patches mailing list