From: Andreas Fink Date: Sat, 21 May 2011 18:32:54 +0000 (+0000) Subject: *fix* register for the StructureNotifyEventMask early, since an icon can be created... X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=commitdiff_plain;h=31738a0686966a561b8578d5daf1366dd0a8c1ac *fix* register for the StructureNotifyEventMask early, since an icon can be created and unregistered directly after it, so we would 'forget' about it --- diff --git a/src/systray/systraybar.c b/src/systray/systraybar.c index c0672e3..8a92a04 100644 --- a/src/systray/systraybar.c +++ b/src/systray/systraybar.c @@ -354,6 +354,9 @@ 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; @@ -442,8 +445,6 @@ gboolean add_icon(Window id) systray.list_icons = g_slist_insert_sorted(systray.list_icons, traywin, compare_traywindows); //printf("add_icon id %lx, %d\n", id, g_slist_length(systray.list_icons)); - // watch for the icon trying to resize itself! - XSelectInput(server.dsp, traywin->tray_id, StructureNotifyMask); if (server.real_transparency || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0) { traywin->damage = XDamageCreate(server.dsp, traywin->id, XDamageReportRawRectangles); XCompositeRedirectWindow(server.dsp, traywin->id, CompositeRedirectManual);