aboutsummaryrefslogtreecommitdiffstats
path: root/xevents.c
diff options
context:
space:
mode:
Diffstat (limited to 'xevents.c')
-rw-r--r--xevents.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/xevents.c b/xevents.c
index 65d7628..e9d819e 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.82 2013/05/21 00:29:20 okan Exp $
+ * $OpenBSD: xevents.c,v 1.83 2013/05/23 16:52:39 okan Exp $
*/
/*
@@ -389,15 +389,13 @@ static void
xev_handle_mappingnotify(XEvent *ee)
{
XMappingEvent *e = &ee->xmapping;
- struct keybinding *kb;
-
- TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
- conf_ungrab(&Conf, kb);
+ struct screen_ctx *sc;
XRefreshKeyboardMapping(e);
-
- TAILQ_FOREACH(kb, &Conf.keybindingq, entry)
- conf_grab(&Conf, kb);
+ if (e->request == MappingKeyboard) {
+ TAILQ_FOREACH(sc, &Screenq, entry)
+ conf_grab_kbd(sc->rootwin);
+ }
}
static void