*fix* even better XSelectInput on traywindows. It's inside the block, where we listen to XError's, thus an icon which is already deleted before we ask for StuctureNotify will not be added at all git-svn-id: http://tint2.googlecode.com/svn/trunk@630 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
andreas.fink85 andreas.fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
1 files changed,
2 insertions(+),
3 deletions(-)
jump to
M
src/systray/systraybar.c
→
src/systray/systraybar.c
@@ -354,9 +354,6 @@ XErrorHandler old;
Panel *panel = systray.area.panel; int hide = 0; - // watch for the icon trying to resize itself / closing again! - XSelectInput(server.dsp, id, StructureNotifyMask); - error = FALSE; XWindowAttributes attr; if ( XGetWindowAttributes(server.dsp, id, &attr) == False ) return FALSE;@@ -380,6 +377,8 @@ Window parent_window;
parent_window = XCreateWindow(server.dsp, panel->main_win, 0, 0, 30, 30, 0, attr.depth, InputOutput, visual, mask, &set_attr); old = XSetErrorHandler(window_error_handler); XReparentWindow(server.dsp, id, parent_window, 0, 0); + // watch for the icon trying to resize itself / closing again! + XSelectInput(server.dsp, id, StructureNotifyMask); XSync(server.dsp, False); XSetErrorHandler(old); if (error != FALSE) {