aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xevents.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/xevents.c b/xevents.c
index fbe1012..877d0e4 100644
--- a/xevents.c
+++ b/xevents.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: xevents.c,v 1.142 2019/03/08 15:04:39 okan Exp $
+ * $OpenBSD: xevents.c,v 1.143 2019/03/08 17:40:43 okan Exp $
*/
/*
@@ -237,28 +237,26 @@ xev_handle_buttonpress(XEvent *ee)
LOG_DEBUG3("root: 0x%lx window: 0x%lx subwindow: 0x%lx",
e->root, e->window, e->subwindow);
+ if ((sc = screen_find(e->root)) == NULL)
+ return;
+
e->state &= ~IGNOREMODMASK;
TAILQ_FOREACH(mb, &Conf.mousebindq, entry) {
if (e->button == mb->press.button && e->state == mb->modmask)
break;
}
-
if (mb == NULL)
return;
mb->cargs->xev = CWM_XEV_BTN;
switch (mb->context) {
case CWM_CONTEXT_CC:
if (((cc = client_find(e->window)) == NULL) &&
- ((cc = client_current(NULL)) == NULL))
+ ((cc = client_current(sc)) == NULL))
return;
(*mb->callback)(cc, mb->cargs);
break;
case CWM_CONTEXT_SC:
- if (e->window != e->root)
- return;
- if ((sc = screen_find(e->window)) == NULL)
- return;
(*mb->callback)(sc, mb->cargs);
break;
case CWM_CONTEXT_NONE: