summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-09-28 09:54:53 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-09-28 09:54:53 +1000
commit4aeac52c495c4cf691de7ef7d9e4030e90b3c8b8 (patch)
treecfde562405ec99b346f3be5d61b9a8d653740de3
parent498135f26e8504e103ffe4512acf6fddca8e92e8 (diff)
parent77099b933a0362d40a28f9afea46c5cc97c29e13 (diff)
Merge remote branch 'origin/xorg-server-1.7-apple' into server-1.7-branch
-rw-r--r--Xi/exevents.c2
-rw-r--r--hw/xquartz/GL/capabilities.c14
-rw-r--r--hw/xquartz/darwin.c12
-rw-r--r--hw/xquartz/mach-startup/stub.c14
-rw-r--r--hw/xquartz/quartzKeyboard.c2
-rw-r--r--include/dix.h1
6 files changed, 17 insertions, 28 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 2673552ce..cb2452bb8 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -192,7 +192,7 @@ XIGetDevice(xEvent* xE)
* This code is basically the old SwitchCoreKeyboard.
*/
-static void
+void
CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master)
{
KeyClassPtr mk = master->key;
diff --git a/hw/xquartz/GL/capabilities.c b/hw/xquartz/GL/capabilities.c
index 99b9eae61..43064044c 100644
--- a/hw/xquartz/GL/capabilities.c
+++ b/hw/xquartz/GL/capabilities.c
@@ -103,7 +103,7 @@ static void handleStencilModes(struct glCapabilitiesConfig *c, GLint smodes) {
}
static int handleColorAndAccumulation(struct glColorBufCapabilities *c,
- GLint cmodes) {
+ GLint cmodes, int forAccum) {
int offset = 0;
/*1*/
@@ -204,8 +204,9 @@ static int handleColorAndAccumulation(struct glColorBufCapabilities *c,
++offset;
}
-#if 0
- /*
+ if(forAccum) {
+//#if 0
+ /* FIXME
* Disable this path, because some part of libGL, X, or Xplugin
* doesn't work with sizes greater than 8.
* When this is enabled and visuals are chosen using depths
@@ -274,7 +275,8 @@ static int handleColorAndAccumulation(struct glColorBufCapabilities *c,
c[offset].a = 16;
++offset;
}
-#endif
+ }
+//#endif
/* FIXME should we handle the floating point color modes, and if so, how? */
@@ -284,14 +286,14 @@ static int handleColorAndAccumulation(struct glColorBufCapabilities *c,
static void handleColorModes(struct glCapabilitiesConfig *c, GLint cmodes) {
c->total_color_buffers = handleColorAndAccumulation(c->color_buffers,
- cmodes);
+ cmodes, 0);
assert(c->total_color_buffers < GLCAPS_COLOR_BUFFERS);
}
static void handleAccumulationModes(struct glCapabilitiesConfig *c, GLint cmodes) {
c->total_accum_buffers = handleColorAndAccumulation(c->accum_buffers,
- cmodes);
+ cmodes, 1);
assert(c->total_accum_buffers < GLCAPS_COLOR_BUFFERS);
}
diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index 7129ac61f..30b890589 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -67,8 +67,7 @@
#include <IOKit/hidsystem/IOHIDLib.h>
#ifdef MITSHM
-#define _XSHM_SERVER_
-#include <X11/extensions/XShm.h>
+#include "shmint.h"
#endif
#include "darwin.h"
@@ -291,8 +290,8 @@ static int DarwinMouseProc(DeviceIntPtr pPointer, int what) {
#define NAXES 2
// 7 buttons: left, right, middle, then four scroll wheel "buttons"
CARD8 map[NBUTTONS + 1] = {0, 1, 2, 3, 4, 5, 6, 7};
- Atom btn_labels[NAXES] = {0};
- Atom axes_labels[NBUTTONS] = {0};
+ Atom btn_labels[NBUTTONS] = {0};
+ Atom axes_labels[NAXES] = {0};
switch (what) {
case DEVICE_INIT:
@@ -341,8 +340,8 @@ static int DarwinTabletProc(DeviceIntPtr pPointer, int what) {
#define NBUTTONS 3
#define NAXES 5
CARD8 map[NBUTTONS + 1] = {0, 1, 2, 3};
- Atom axes_labels[NAXES] = {0};
Atom btn_labels[NBUTTONS] = {0};
+ Atom axes_labels[NAXES] = {0};
switch (what) {
case DEVICE_INIT:
@@ -354,6 +353,9 @@ static int DarwinTabletProc(DeviceIntPtr pPointer, int what) {
axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X);
axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y);
+ axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_PRESSURE);
+ axes_labels[3] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_X);
+ axes_labels[4] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_Y);
// Set button map.
InitPointerDeviceStruct((DevicePtr)pPointer, map, NBUTTONS,
diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
index 7a557bd3f..fd831a828 100644
--- a/hw/xquartz/mach-startup/stub.c
+++ b/hw/xquartz/mach-startup/stub.c
@@ -96,20 +96,6 @@ static void set_x11_path() {
exit(3);
}
- ver = CFBundleGetVersionNumber(bundle);
- if( !(ver >= 0x02308000 || (ver >= 0x02168000 && ver < 0x02208000))) {
- CFStringRef versionStr = CFBundleGetValueForInfoDictionaryKey(bundle, kCFBundleVersionKey);
- const char * versionCStr = "Unknown";
-
- if(versionStr)
- versionCStr = CFStringGetCStringPtr(versionStr, kCFStringEncodingMacRoman);
-
- fprintf(stderr, "Xquartz: Could not find a new enough X11.app LSFindApplicationForInfo() returned\n");
- fprintf(stderr, " X11.app = %s\n", x11_path);
- fprintf(stderr, " Version = %s (%x), Expected Version > 2.3.0 or 2.1.6\n", versionCStr, (unsigned)ver);
- exit(9);
- }
-
strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path));
#ifdef DEBUG
fprintf(stderr, "Xquartz: X11.app = %s\n", x11_path);
diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c
index 4abf4af7f..503383f91 100644
--- a/hw/xquartz/quartzKeyboard.c
+++ b/hw/xquartz/quartzKeyboard.c
@@ -296,13 +296,11 @@ static void DarwinLoadKeyboardMapping(KeySymsRec *keySyms) {
static void DarwinKeyboardSetDeviceKeyMap(KeySymsRec *keySyms, CARD8 *modmap) {
DeviceIntPtr pDev;
- pthread_mutex_lock(&keyInfo_mutex);
for (pDev = inputInfo.devices; pDev; pDev = pDev->next)
if ((pDev->coreEvents || pDev == inputInfo.keyboard) && pDev->key)
XkbApplyMappingChange(pDev, keySyms, keySyms->minKeyCode,
keySyms->maxKeyCode - keySyms->minKeyCode + 1,
modmap, serverClient);
- pthread_mutex_unlock(&keyInfo_mutex);
}
/*
diff --git a/include/dix.h b/include/dix.h
index 49dfe3774..b1edb6c46 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -592,6 +592,7 @@ extern Bool IsKeyboardDevice(DeviceIntPtr dev);
extern Bool IsPointerEvent(InternalEvent *event);
extern Bool IsMaster(DeviceIntPtr dev);
+extern _X_HIDDEN void CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
extern _X_HIDDEN int CorePointerProc(DeviceIntPtr dev, int what);
extern _X_HIDDEN int CoreKeyboardProc(DeviceIntPtr dev, int what);