diff options
author | Olivier Fourdan <fourdan.olivier@wanadoo.fr> | 2009-02-16 11:11:27 +0000 |
---|---|---|
committer | Olivier Fourdan <fourdan.olivier@wanadoo.fr> | 2009-02-16 11:11:27 +0000 |
commit | c731b7fbedafd927ba00c66cc77682088beedb69 (patch) | |
tree | 40cc9bb8a514d438fb1e3b734abe4d30dc248cae /src/client.c | |
parent | 70eeb59663c8d88f3969a3f5ec77c8dc91d0aaaa (diff) | |
download | xfwm4-c731b7fbedafd927ba00c66cc77682088beedb69.tar.gz |
* src/events.c, src/client.c: Fix ICCCM synthetic unmap notify
handling causing a race condition with amule when started hidden
to system tray (Bug #4928). Note: This is still unclear to me
what is correct behaviour here, the problem reported in bug
#4928 happens with some other window managers too (e.g. kwin from
kde 4.2, fluxbox) but not with others (openbox, metacity, icewm).
(Old svn revision: 29493)
Diffstat (limited to 'src/client.c')
-rw-r--r-- | src/client.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/client.c b/src/client.c index b299ca705..f487d333a 100644 --- a/src/client.c +++ b/src/client.c @@ -1940,7 +1940,7 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture) XCreateWindow (display_info->dpy, screen_info->xroot, 0, 0, 1, 1, 0, c->depth, InputOutput, c->visual, valuemask, &attributes); - XSelectInput (display_info->dpy, c->window, 0); + XSelectInput (display_info->dpy, c->window, NoEventMask); XSetWindowBorderWidth (display_info->dpy, c->window, 0); if (FLAG_TEST (c->flags, CLIENT_FLAG_SHADED)) { @@ -1950,7 +1950,6 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture) valuemask = CWEventMask; attributes.event_mask = (CLIENT_EVENT_MASK); XChangeWindowAttributes (display_info->dpy, c->window, valuemask, &attributes); - XSelectInput (display_info->dpy, c->window, CLIENT_EVENT_MASK); if (display_info->have_shape) { XShapeSelectInput (display_info->dpy, c->window, ShapeNotifyMask); @@ -2652,6 +2651,7 @@ clientClose (Client * c) screen_info = c->screen_info; display_info = screen_info->display_info; timestamp = myDisplayGetCurrentTime (display_info); + timestamp = myDisplayGetTime (display_info, timestamp); if (FLAG_TEST (c->wm_flags, WM_FLAG_DELETE)) { |