*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
This commit is contained in:
andreas.fink85 2011-05-22 08:25:40 +00:00
parent 7797f8d318
commit f71967bbca

View file

@ -354,9 +354,6 @@ gboolean add_icon(Window id)
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 @@ gboolean add_icon(Window id)
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) {