1 diff -r 6ae1e81f12d7 src/client.c
2 --- a/src/client.c Tue Dec 20 20:30:57 2011 +0100
3 +++ b/src/client.c Tue Dec 20 20:41:38 2011 +0100
6 clientGetButtonState (Client *c, int button, int state)
8 + if ((c->button_status[button] == BUTTON_STATE_PRELIGHT) &&
9 + clientGetButtonPixmap (c, button, PRELIGHT))
14 if (state == INACTIVE)
17 @@ -3806,12 +3812,6 @@
21 - if ((c->button_status[button] == BUTTON_STATE_PRELIGHT) &&
22 - clientGetButtonPixmap (c, button, PRELIGHT))
30 diff -r 6ae1e81f12d7 src/events.c
31 --- a/src/events.c Tue Dec 20 20:30:57 2011 +0100
32 +++ b/src/events.c Tue Dec 20 20:41:38 2011 +0100
33 @@ -1380,23 +1380,20 @@
34 clientClearDelayedFocus ();
37 - if (c == clientGetFocus ())
38 + for (b = 0; b < BUTTON_COUNT; b++)
40 - for (b = 0; b < BUTTON_COUNT; b++)
41 + if (MYWINDOW_XWINDOW(c->buttons[b]) == ev->window)
43 - if (MYWINDOW_XWINDOW(c->buttons[b]) == ev->window)
44 + if (!xfwmPixmapNone(clientGetButtonPixmap(c, b, PRELIGHT)))
46 - if (!xfwmPixmapNone(clientGetButtonPixmap(c, b, PRELIGHT)))
48 - c->button_status[b] = BUTTON_STATE_PRELIGHT;
51 + c->button_status[b] = BUTTON_STATE_PRELIGHT;
57 - frameQueueDraw (c, FALSE);
62 + frameQueueDraw (c, FALSE);
65 /* No need to process the event any further */