summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@freedesktop.org>2009-01-15 13:04:34 -0800
committerJeremy Huddleston <jeremyhu@freedesktop.org>2009-01-15 13:04:34 -0800
commita5e191578e50a249e67fa26d273db4aca26ee996 (patch)
treedbf55b918d8b3d572db0091f87756cbaa721db9c
parent9cf264e67744262b9f45079e6cd752eb3e3b0e08 (diff)
parent251d0d8090322b2c9dc0c8b7bef001f338d19433 (diff)
Merge commit 'origin/server-1.6-branch' into xorg-server-1.6-apple
-rw-r--r--Xi/exevents.c2
-rw-r--r--configure.ac2
-rw-r--r--dix/events.c19
-rw-r--r--dix/getevents.c6
-rw-r--r--hw/dmx/dmxcb.c6
-rw-r--r--hw/dmx/dmxextension.c6
-rw-r--r--hw/dmx/dmxfont.c6
-rw-r--r--hw/dmx/dmxpict.c6
-rw-r--r--hw/dmx/dmxscrinit.c6
-rw-r--r--hw/dmx/glxProxy/glxutil.c6
-rw-r--r--hw/dmx/glxProxy/glxvisuals.c6
-rw-r--r--include/dix-config-post-verbatim.h10
-rw-r--r--include/dix-config.h.in9
-rw-r--r--mi/mieq.c11
14 files changed, 73 insertions, 28 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 6141f5edd..083bb2f0e 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -186,7 +186,7 @@ XIGetDevice(xEvent* xE)
* This code is basically the old SwitchCoreKeyboard.
*/
-static void
+void
CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master)
{
static DeviceIntPtr lastMapNotifyDevice = NULL;
diff --git a/configure.ac b/configure.ac
index cd5328861..da5f488f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.5.99.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.5.99.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
AM_MAINTAINER_MODE
diff --git a/dix/events.c b/dix/events.c
index 5530c012f..122ce6abc 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -2351,13 +2351,11 @@ DeliverDeviceEvents(WindowPtr pWin, xEvent *xE, GrabPtr grab,
if (deliveries > 0)
return deliveries;
}
-
- if ((deliveries < 0) ||
- (pWin == stopAt) ||
- (inputMasks &&
- (filter & inputMasks->dontPropagateMask[mskidx])))
- return 0;
}
+
+ if ((deliveries < 0) || (pWin == stopAt) ||
+ (inputMasks && (filter & inputMasks->dontPropagateMask[mskidx])))
+ return 0;
} else
{
core = *xE;
@@ -2373,12 +2371,11 @@ DeliverDeviceEvents(WindowPtr pWin, xEvent *xE, GrabPtr grab,
if (deliveries > 0)
return deliveries;
}
-
- if ((deliveries < 0) ||
- (pWin == stopAt) ||
- (filter & wDontPropagateMask(pWin)))
- return 0;
}
+
+ if ((deliveries < 0) || (pWin == stopAt) ||
+ (filter & wDontPropagateMask(pWin)))
+ return 0;
}
child = pWin->drawable.id;
diff --git a/dix/getevents.c b/dix/getevents.c
index 707d1da2f..16e23dc20 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -695,6 +695,9 @@ positionSprite(DeviceIntPtr dev, int *x, int *y,
dev->valuator->axes + 1, scr->height);
}
+ /* dropy x/y (device coordinates) back into valuators for next event */
+ dev->last.valuators[0] = *x;
+ dev->last.valuators[1] = *y;
}
/**
@@ -980,9 +983,6 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons,
positionSprite(pDev, &x, &y, scr, &cx, &cy);
updateHistory(pDev, first_valuator, num_valuators, ms);
- /* dropy x/y (device coordinates) back into valuators for next event */
- pDev->last.valuators[0] = x;
- pDev->last.valuators[1] = y;
/* Update the valuators with the true value sent to the client*/
if (num_valuators >= 1 && first_valuator == 0)
diff --git a/hw/dmx/dmxcb.c b/hw/dmx/dmxcb.c
index 4e7279a51..ae6eb6fb2 100644
--- a/hw/dmx/dmxcb.c
+++ b/hw/dmx/dmxcb.c
@@ -43,6 +43,12 @@
#include "dmxinput.h"
#include "dmxlog.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
extern int connBlockScreenStart;
#ifdef PANORAMIX
diff --git a/hw/dmx/dmxextension.c b/hw/dmx/dmxextension.c
index d20c844aa..91479e7a5 100644
--- a/hw/dmx/dmxextension.c
+++ b/hw/dmx/dmxextension.c
@@ -64,6 +64,12 @@
#include <X11/extensions/dmxproto.h> /* For DMX_BAD_* */
#include "cursorstr.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
/* The default font is declared in dix/globals.c, but is not included in
* _any_ header files. */
extern FontPtr defaultFont;
diff --git a/hw/dmx/dmxfont.c b/hw/dmx/dmxfont.c
index b70f7d2df..c739159a8 100644
--- a/hw/dmx/dmxfont.c
+++ b/hw/dmx/dmxfont.c
@@ -49,6 +49,12 @@
#include "dixfont.h"
#include "dixstruct.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
static int (*dmxSaveProcVector[256])(ClientPtr);
static int dmxFontLastError;
diff --git a/hw/dmx/dmxpict.c b/hw/dmx/dmxpict.c
index 37dfa10ac..8bce6892e 100644
--- a/hw/dmx/dmxpict.c
+++ b/hw/dmx/dmxpict.c
@@ -56,6 +56,12 @@
#include "mipict.h"
#include "fbpict.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
extern int RenderErrBase;
extern int (*ProcRenderVector[RenderNumberRequests])(ClientPtr);
diff --git a/hw/dmx/dmxscrinit.c b/hw/dmx/dmxscrinit.c
index 736075094..28c8b0185 100644
--- a/hw/dmx/dmxscrinit.c
+++ b/hw/dmx/dmxscrinit.c
@@ -61,6 +61,12 @@
#include "mipointer.h"
#include "micmap.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
extern Bool dmxCloseScreen(int idx, ScreenPtr pScreen);
static Bool dmxSaveScreen(ScreenPtr pScreen, int what);
diff --git a/hw/dmx/glxProxy/glxutil.c b/hw/dmx/glxProxy/glxutil.c
index 080992ea9..e3056bbd4 100644
--- a/hw/dmx/glxProxy/glxutil.c
+++ b/hw/dmx/glxProxy/glxutil.c
@@ -36,6 +36,12 @@
#include <windowstr.h>
#include "glxutil.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
/************************************************************************/
void __glXNop(void) {}
diff --git a/hw/dmx/glxProxy/glxvisuals.c b/hw/dmx/glxProxy/glxvisuals.c
index b961dfaef..c8b1eea31 100644
--- a/hw/dmx/glxProxy/glxvisuals.c
+++ b/hw/dmx/glxProxy/glxvisuals.c
@@ -38,6 +38,12 @@
#include "glxutil.h"
#include "dmx_glxvisuals.h"
+#undef Xmalloc
+#undef Xcalloc
+#undef Xrealloc
+#undef Xfree
+
+
static int numConfigs = 0;
static __GLXvisualConfig *visualConfigs = NULL;
static void **visualPrivates = NULL;
diff --git a/include/dix-config-post-verbatim.h b/include/dix-config-post-verbatim.h
deleted file mode 100644
index 4bbb9b031..000000000
--- a/include/dix-config-post-verbatim.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Do not include this file directly. It is included at the end of <dix-config.h> */
-
-/* Correctly set _XSERVER64 for OSX fat binaries */
-#ifdef __APPLE__
-#if defined(__LP64__) && !defined(_XSERVER64)
-#define _XSERVER64 1
-#elif !defined(__LP64__) && defined(_XSERVER64)
-#undef _XSERVER64
-#endif
-#endif
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 977bff3e9..8e047c491 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -429,6 +429,13 @@
/* Define to 1 if you have the `ffs' function. */
#undef HAVE_FFS
-#include <dix-config-post-verbatim.h>
+/* Correctly set _XSERVER64 for OSX fat binaries */
+#ifdef __APPLE__
+#if defined(__LP64__) && !defined(_XSERVER64)
+#define _XSERVER64 1
+#elif !defined(__LP64__) && defined(_XSERVER64)
+#undef _XSERVER64
+#endif
+#endif
#endif /* _DIX_CONFIG_H_ */
diff --git a/mi/mieq.c b/mi/mieq.c
index a64cb8740..43cd0e725 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -344,6 +344,8 @@ CopyGetMasterEvent(DeviceIntPtr mdev, xEvent* original,
while (count--)
ChangeDeviceID(mdev, &master->event[count]);
}
+extern void
+CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
/* Call this from ProcessInputEvents(). */
void
@@ -414,8 +416,15 @@ mieqProcessInputEvents(void)
NewCurrentScreen (dev, DequeueScreen(dev), x, y);
}
else {
- if (master)
+ if (master) {
+ /* Force a copy of the key class into the VCK so that the layout
+ is transferred. */
+ if (event->u.u.type == DeviceKeyPress ||
+ event->u.u.type == DeviceKeyRelease)
+ CopyKeyClass(dev, master);
+
CopyGetMasterEvent(master, event, masterEvents, nevents);
+ }
/* If someone's registered a custom event handler, let them
* steal it. */