590f96d
diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c
590f96d
--- tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c.getmaster	2015-01-23 23:37:23.000000000 +0000
590f96d
+++ tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c	2015-02-13 12:32:54.398502082 +0000
590f96d
@@ -210,10 +210,7 @@ void vncPrepareInputDevices(void)
590f96d
590f96d
 unsigned vncGetKeyboardState(void)
cde0eb1
 {
cde0eb1
-	DeviceIntPtr master;
cde0eb1
-
590f96d
-	master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
cde0eb1
-	return XkbStateFieldFromRec(&master->key->xkbInfo->state);
590f96d
+	return XkbStateFieldFromRec(&vncKeyboardDev->master->key->xkbInfo->state);
cde0eb1
 }
590f96d
590f96d
 unsigned vncGetLevelThreeMask(void)
590f96d
@@ -232,7 +229,7 @@ unsigned InputDevice::vncGetLevelThreeMask(
cde0eb1
 			return 0;
cde0eb1
 	}
590f96d
590f96d
-	xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
590f96d
+	xkb = vncKeyboardDev->master->key->xkbInfo->desc;
590f96d
cde0eb1
 	act = XkbKeyActionPtr(xkb, keycode, state);
cde0eb1
 	if (act == NULL)
590f96d
@@ -257,7 +254,7 @@ KeyCode InputDevice::vncPressShift(void)
cde0eb1
 	if (state & ShiftMask)
cde0eb1
 		return 0;
590f96d
590f96d
-	xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
590f96d
+	xkb = vncKeyboardDev->master->key->xkbInfo->desc;
cde0eb1
 	for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
cde0eb1
 		XkbAction *act;
cde0eb1
 		unsigned char mask;
590f96d
@@ -299,7 +296,7 @@ size_t vncReleaseShift(KeyCode *keys, size_t maxKeys)
590f96d
590f96d
 	count = 0;
590f96d
590f96d
-	master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
590f96d
+	master = vncKeyboardDev->master;
cde0eb1
 	xkb = master->key->xkbInfo->desc;
cde0eb1
 	for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
cde0eb1
 		XkbAction *act;
590f96d
@@ -347,7 +344,7 @@ KeyCode InputDevice::vncPressLevelThree(voi
cde0eb1
 			return 0;
cde0eb1
 	}
590f96d
590f96d
-	xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
590f96d
+	xkb = vncKeyboardDev->master->key->xkbInfo->desc;
590f96d
cde0eb1
 	act = XkbKeyActionPtr(xkb, keycode, state);
cde0eb1
 	if (act == NULL)
590f96d
@@ -386,7 +383,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys)
590f96d
590f96d
 	count = 0;
590f96d
590f96d
-	master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
590f96d
+	master = vncKeyboardDev->master;
cde0eb1
 	xkb = master->key->xkbInfo->desc;
cde0eb1
 	for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
cde0eb1
 		XkbAction *act;
590f96d
@@ -416,7 +413,7 @@ KeyCode InputDevice::vncKeysymToKeycode(Key
cde0eb1
 	if (new_state != NULL)
cde0eb1
 		*new_state = state;
590f96d
590f96d
-	xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
590f96d
+	xkb = vncKeyboardDev->master->key->xkbInfo->desc;
cde0eb1
 	for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
cde0eb1
 		unsigned int state_out;
cde0eb1
 		KeySym dummy;
590f96d
@@ -473,7 +470,7 @@ bool InputDevice::vncIsLockModifier(KeyCode
cde0eb1
 	XkbDescPtr xkb;
cde0eb1
 	XkbAction *act;
590f96d
590f96d
-	xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
590f96d
+	xkb = vncKeyboardDev->master->key->xkbInfo->desc;
590f96d
cde0eb1
 	act = XkbKeyActionPtr(xkb, keycode, state);
cde0eb1
 	if (act == NULL)
590f96d
@@ -524,7 +521,7 @@ int vncIsAffectedByNumLock(KeyCode keycode)
cde0eb1
 	if (numlock_keycode == 0)
590f96d
 		return 0;
590f96d
590f96d
-	xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
590f96d
+	xkb = vncKeyboardDev->master->key->xkbInfo->desc;
590f96d
cde0eb1
 	act = XkbKeyActionPtr(xkb, numlock_keycode, state);
cde0eb1
 	if (act == NULL)
590f96d
@@ -545,7 +542,7 @@ KeyCode InputDevice::vncAddKeysym(KeySym ke
cde0eb1
 	KeySym *syms;
cde0eb1
 	KeySym upper, lower;
590f96d
590f96d
-	master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
590f96d
+	master = vncKeyboardDev->master;
cde0eb1
 	xkb = master->key->xkbInfo->desc;
cde0eb1
 	for (key = xkb->max_key_code; key >= xkb->min_key_code; key--) {
cde0eb1
 		if (XkbKeyNumGroups(xkb, key) == 0)