Merge fix from the stable '3.5' branch:

Fix window key grabbing
(git commit f128b313130ad10dfa6a8e1bdf8e360038aee378)
This commit is contained in:
dcoppa 2016-01-27 15:18:05 +00:00
parent 0844de2f4f
commit 8d235ea42b
3 changed files with 60 additions and 1 deletions

View File

@ -1,8 +1,9 @@
# $OpenBSD: Makefile,v 1.96 2016/01/18 09:50:09 dcoppa Exp $
# $OpenBSD: Makefile,v 1.97 2016/01/27 15:18:05 dcoppa Exp $
COMMENT= highly configurable framework window manager
DISTNAME= awesome-3.5.7
REVISION= 0
EXTRACT_SUFX= .tar.xz
CATEGORIES= x11

View File

@ -0,0 +1,30 @@
$OpenBSD: patch-event_c,v 1.13 2016/01/27 15:18:05 dcoppa Exp $
commit f128b313130ad10dfa6a8e1bdf8e360038aee378
Author: Uli Schlachter <psychon@znc.in>
Date: Sat Jan 23 13:14:30 2016 +0100
Fix window key grabbing
Commit ff799a0f5dba06b is incomplete. It changed the window on which we grab
keys, but only in some places. When the keyboard layout changes, we have to
re-grab these keys, but the code does so on the wrong window.
This patch fixes that oversight.
Fixes: https://github.com/awesomeWM/awesome/issues/639
Signed-off-by: Uli Schlachter <psychon@znc.in>
--- event.c.orig Fri Jan 15 16:51:19 2016
+++ event.c Wed Jan 27 16:10:03 2016
@@ -833,8 +833,8 @@ event_handle_mappingnotify(xcb_mapping_notify_event_t
foreach(_c, globalconf.clients)
{
client_t *c = *_c;
- xcb_ungrab_key(globalconf.connection, XCB_GRAB_ANY, c->frame_window, XCB_BUTTON_MASK_ANY);
- xwindow_grabkeys(c->frame_window, &c->keys);
+ xcb_ungrab_key(globalconf.connection, XCB_GRAB_ANY, c->window, XCB_BUTTON_MASK_ANY);
+ xwindow_grabkeys(c->window, &c->keys);
}
}
}

View File

@ -0,0 +1,28 @@
$OpenBSD: patch-objects_client_c,v 1.14 2016/01/27 15:18:05 dcoppa Exp $
commit f128b313130ad10dfa6a8e1bdf8e360038aee378
Author: Uli Schlachter <psychon@znc.in>
Date: Sat Jan 23 13:14:30 2016 +0100
Fix window key grabbing
Commit ff799a0f5dba06b is incomplete. It changed the window on which we grab
keys, but only in some places. When the keyboard layout changes, we have to
re-grab these keys, but the code does so on the wrong window.
This patch fixes that oversight.
Fixes: https://github.com/awesomeWM/awesome/issues/639
Signed-off-by: Uli Schlachter <psychon@znc.in>
--- objects/client.c.orig Fri Jan 15 16:51:19 2016
+++ objects/client.c Wed Jan 27 16:10:03 2016
@@ -2283,7 +2283,7 @@ luaA_client_keys(lua_State *L)
{
luaA_key_array_set(L, 1, 2, keys);
luaA_object_emit_signal(L, 1, "property::keys", 0);
- xcb_ungrab_key(globalconf.connection, XCB_GRAB_ANY, c->frame_window, XCB_BUTTON_MASK_ANY);
+ xcb_ungrab_key(globalconf.connection, XCB_GRAB_ANY, c->window, XCB_BUTTON_MASK_ANY);
xwindow_grabkeys(c->window, keys);
}