diff options
Diffstat (limited to 'xorg-server')
-rw-r--r-- | xorg-server/Xi/exevents.c | 30 | ||||
-rw-r--r-- | xorg-server/dix/getevents.c | 2 | ||||
-rw-r--r-- | xorg-server/hw/xquartz/GL/capabilities.c | 7 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/no | 2 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/ru | 8 |
5 files changed, 30 insertions, 19 deletions
diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c index a6819c8c2..26538a844 100644 --- a/xorg-server/Xi/exevents.c +++ b/xorg-server/Xi/exevents.c @@ -673,7 +673,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to) if (from->touch) { - TouchPointInfoPtr tmp; + TouchClassPtr t, f; if (!to->touch) { classes = to->unused_classes; @@ -694,17 +694,22 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to) } else classes->touch = NULL; } - tmp = to->touch->touches; - memcpy(to->touch, from->touch, sizeof(TouchClassRec)); - to->touch->touches = tmp; - to->touch->sourceid = from->id; - } else if (to->touch) - { - ClassesPtr classes; - classes = to->unused_classes; - classes->touch = to->touch; - to->touch = NULL; + + + t = to->touch; + f = from->touch; + t->sourceid = f->sourceid; + t->max_touches = f->max_touches; + t->mode = f->mode; + t->buttonsDown = f->buttonsDown; + t->state = f->state; + t->motionMask = f->motionMask; + /* to->touches and to->num_touches are separate on the master, + * don't copy */ } + /* Don't remove touch class if from->touch is non-existent. The to device + * may have an active touch grab, so we need to keep the touch class record + * around. */ } /** @@ -1166,6 +1171,7 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti, { EmitTouchEnd(dev, ti, 0, 0); TouchEndTouch(dev, ti); + return; } if (ti->listeners[0].state == LISTENER_EARLY_ACCEPT) @@ -2219,7 +2225,7 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, for (i = 0; mouse && mouse->button && i < mouse->button->numButtons; i++) if (BitIsOn(mouse->button->down, i)) - SetBit(&xi2event[1], i); + SetBit(&xi2event[1], mouse->button->map[i]); if (dev->key) { diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 53030ffd5..8091c5782 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -375,6 +375,7 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev) if (i >= lastSlave->valuator->numAxes) { pDev->last.valuators[i] = 0; + valuator_mask_set_double(pDev->last.scroll, i, 0); } else { @@ -382,6 +383,7 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev) val = rescaleValuatorAxis(val, lastSlave->valuator->axes + i, pDev->valuator->axes + i, 0, 0); pDev->last.valuators[i] = val; + valuator_mask_set_double(pDev->last.scroll, i, val); } } } diff --git a/xorg-server/hw/xquartz/GL/capabilities.c b/xorg-server/hw/xquartz/GL/capabilities.c index dd3f855f4..b718a4156 100644 --- a/xorg-server/hw/xquartz/GL/capabilities.c +++ b/xorg-server/hw/xquartz/GL/capabilities.c @@ -23,17 +23,20 @@ #include <stdio.h> #include <stdlib.h> #include <assert.h> + +#define Cursor Mac_Cursor +#define BOOL Mac_BOOL #include <OpenGL/OpenGL.h> #include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <OpenGL/glext.h> #include <ApplicationServices/ApplicationServices.h> +#undef Cursor +#undef BOOL #include "capabilities.h" -#define Cursor X_Cursor #include "os.h" -#undef Cursor static void handleBufferModes(struct glCapabilitiesConfig *c, GLint bufferModes) { if(bufferModes & kCGLStereoscopicBit) { diff --git a/xorg-server/xkeyboard-config/symbols/no b/xorg-server/xkeyboard-config/symbols/no index 21e317f8b..53c83da62 100644 --- a/xorg-server/xkeyboard-config/symbols/no +++ b/xorg-server/xkeyboard-config/symbols/no @@ -64,7 +64,7 @@ xkb_symbols "dvorak" { key <AE01> { [ 1, exclam, exclamdown, onesuperior ] }; key <AE02> { [ 2, quotedbl, at, twosuperior ] }; key <AE03> { [ 3, numbersign, sterling, threesuperior ] }; - key <AE04> { [ 4, dollar, currency,onequarter ] }; + key <AE04> { [ 4, currency, dollar,onequarter ] }; key <AE05> { [ 5, percent, onehalf, onehalf ] }; key <AE06> { [ 6, ampersand, threequarters, threequarters ] }; key <AE07> { [ 7, slash, braceleft, division ] }; diff --git a/xorg-server/xkeyboard-config/symbols/ru b/xorg-server/xkeyboard-config/symbols/ru index 408e40806..a3dabefdf 100644 --- a/xorg-server/xkeyboard-config/symbols/ru +++ b/xorg-server/xkeyboard-config/symbols/ru @@ -273,13 +273,13 @@ xkb_symbols "cv" { key.type[group1]="FOUR_LEVEL"; key <AD03> { [ Cyrillic_u, Cyrillic_U, - 0x010004f3, 0x010004f2 ] }; + U04F3, U04F2 ] }; key <AD05> { [ Cyrillic_ie, Cyrillic_IE, - 0x01000115, 0x01000114 ] }; + U04D7, U04D6 ] }; key <AC04> { [ Cyrillic_a, Cyrillic_A, - abreve, Abreve ] }; + U04D1, U04D0 ] }; key <AB03> { [ Cyrillic_es, Cyrillic_ES, - ccedilla, Ccedilla ] }; + U04AB, U04AA ] }; include "level3(ralt_switch)" }; |