From 1a0dfde2d102d845f1ceda66ad7a078aa1b42ef9 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Wed, 23 Sep 2009 17:41:28 -0700 Subject: XQuartz: GLX capabilities: Allow 16bit accumulation buffers http://xquartz.macosforge.org/trac/ticket/308 (cherry picked from commit e9e63a2118b76b6c31c4081fec08a99e4d796e22) --- hw/xquartz/GL/capabilities.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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); } -- cgit v1.2.3 From e0e2eaf1f30ebce4c0ff28416259d8e976fdf0d7 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Fri, 7 Aug 2009 00:02:21 -0700 Subject: XQuartz: Use internal xshm header for new xextproto (cherry picked from commit 1755239330c0bdac820d88a3e06ff391d65f29be) (cherry picked from commit 697be460d0e555e2c75eed6889293650e02d423c) --- hw/xquartz/darwin.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index 7129ac61f..5ad53921e 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -67,8 +67,7 @@ #include #ifdef MITSHM -#define _XSHM_SERVER_ -#include +#include "shmint.h" #endif #include "darwin.h" -- cgit v1.2.3 From 6e4fc5d066d9c1ea4fca444cfee1e73147c5fefb Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 26 Sep 2009 22:13:49 -0700 Subject: Xi: CopyKeyClass is not static for XQuartz --- Xi/exevents.c | 2 +- include/dix.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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/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); -- cgit v1.2.3 From fd1adc21a931e2dd1ff2e52b60a77c2153a30fe0 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 26 Sep 2009 22:17:09 -0700 Subject: XQuartz: Nuke duplicate locks that make painful headaches --- hw/xquartz/quartzKeyboard.c | 2 -- 1 file changed, 2 deletions(-) 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); } /* -- cgit v1.2.3 From 29b2d9cdf5095399b79d9ff2a2f12f5a9c49cf1f Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 26 Sep 2009 22:48:49 -0700 Subject: XQuartz: Fix a brain-o array indexing problem /bop Peter --- hw/xquartz/darwin.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index 5ad53921e..8836782a2 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -290,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: @@ -340,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: -- cgit v1.2.3 From 7958f6b75b3c6b8a827188af2e684f181bdd7688 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 26 Sep 2009 22:52:39 -0700 Subject: XQuartz: Add pressure/tilt property labels --- hw/xquartz/darwin.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index 8836782a2..30b890589 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -353,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, -- cgit v1.2.3 From 77099b933a0362d40a28f9afea46c5cc97c29e13 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 26 Sep 2009 23:41:45 -0700 Subject: XQuartz: Stop checking version numbers of the bundle because CFBundleGetVersionNumber is gimpish (cherry picked from commit 9f5bdd89608ec12012592ff395b82e954fbb4da8) --- hw/xquartz/mach-startup/stub.c | 14 -------------- 1 file changed, 14 deletions(-) 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); -- cgit v1.2.3