Fix for xorg-xkb partially freezes dtwm when keyboard layout is changed.
authorJon Trulson <jon@radscan.com>
Mon, 17 Feb 2014 21:37:09 +0000 (14:37 -0700)
committerJon Trulson <jon@radscan.com>
Mon, 17 Feb 2014 21:37:09 +0000 (14:37 -0700)
Patch submitted by Eugene Doudine <dudinea@gmail.com>

cde/programs/dtwm/WmGlobal.h

index 0995c7eb48d2d7deff8cb630a4daa6f181742648..944b4b394abd1dd0c078cc57814058341e1575be 100644 (file)
@@ -2367,7 +2367,9 @@ typedef struct _WmGlobalData
 #define ACTIVE_ROOT    (wmGD.pActiveSD->rootWindow)
 #define ACTIVE_ICON_TEXT_WIN (wmGD.pActiveSD->activeIconTextWin)
 
-#define NOLOCKMOD(state)  ((state) & ~wmGD.lockingModMask)
+/* According to the xkb protocol bits 13 and 14 are interpreted as a  */
+/* two-bit unsigned numeric value and report the state keyboard group */
+#define NOLOCKMOD(state)  ((state) & ~wmGD.lockingModMask & ~(3 << 13))
 #ifdef WSM
 /* absent map behavior policy values (absentMapBehavior): */
 #define AMAP_BEHAVIOR_ADD       0