Xext/sync.c | 51 +++- Xi/exevents.c | 10 acinclude.m4 | 2 configure.ac | 16 - debian/changelog | 5 debian/patches/150_dont-update-vcp-valuators.patch | 43 --- debian/patches/151_allow-null-as-rulesfile.patch | 68 ----- debian/patches/series | 4 glx/dispatch.h | 2 glx/glapi.h | 17 + glx/glapitable.h | 1 glx/glthread.c | 1 glx/indirect_dispatch.c | 11 glx/indirect_dispatch_swap.c | 11 glx/indirect_reqsize.c | 3 hw/xfree86/common/xf86Xinput.c | 4 hw/xfree86/modes/xf86Crtc.c | 2 hw/xfree86/os-support/bsd/bsd_init.c | 88 ++++--- hw/xfree86/ramdac/xf86Cursor.c | 3 hw/xquartz/Makefile.am | 3 hw/xquartz/X11Application.m | 7 hw/xquartz/X11Controller.m | 122 +++++----- hw/xquartz/bundle/Info.plist | 39 --- hw/xquartz/bundle/Info.plist.cpp | 39 +++ hw/xquartz/bundle/Makefile.am | 16 + hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib | 68 ++--- hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib |binary hw/xquartz/bundle/X11.sh | 3 hw/xquartz/bundle/cpprules.in | 37 +++ hw/xquartz/bundle/mk_bundke.sh | 3 hw/xquartz/darwin.c | 6 hw/xquartz/darwinEvents.c | 35 +- hw/xquartz/mach-startup/Makefile.am | 2 hw/xquartz/mach-startup/bundle-main.c | 111 ++++++--- hw/xquartz/pbproxy/Makefile.am | 4 randr/randr.c | 3 randr/randrstr.h | 8 randr/rrdispatch.c | 2 randr/rroutput.c | 112 +++++++++ randr/rrscreen.c | 17 + randr/rrsdispatch.c | 27 ++ randr/rrxinerama.c | 48 ++- xkb/xkbInit.c | 29 +- 43 files changed, 678 insertions(+), 405 deletions(-)
New commits: commit 50aea556192310b0d4bf93b2e17585f099652955 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Wed Dec 31 12:00:15 2008 +0200 Remove patches 150, 151, applied upstream. diff --git a/debian/changelog b/debian/changelog index e7a1b46..6dddd67 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ xorg-server (2:1.5.99.3-0ubuntu4) UNRELEASED; urgency=low * Disable patch 107 for now, to see what kind of a performance hit it'll be. The problem it causes is random garbage on windows while apps are being loaded. + * Remove patches 150, 151, applied upstream. -- Timo Aaltonen <tjaal...@ubuntu.com> Wed, 17 Dec 2008 15:02:53 +0200 diff --git a/debian/patches/150_dont-update-vcp-valuators.patch b/debian/patches/150_dont-update-vcp-valuators.patch deleted file mode 100644 index 9899d06..0000000 --- a/debian/patches/150_dont-update-vcp-valuators.patch +++ /dev/null @@ -1,43 +0,0 @@ -The VCP doesn't need to update the valuators anyway since it cannot send XI -events. Just skip that bit. - -X.Org Bug 18882 <http://bugs.freedesktop.org/show_bug.cgi?id=18882> ---- -Not cherry-picked from master as master does need to update the valuators. -(Keith: sorry for the resend, wrong "From:" blocked deliver to the xorg list) - - Xi/exevents.c | 8 ++++++-- - 1 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/Xi/exevents.c b/Xi/exevents.c -index 00a6b21..8eef400 100644 ---- a/Xi/exevents.c -+++ b/Xi/exevents.c -@@ -781,12 +781,14 @@ UpdateDeviceState(DeviceIntPtr device, xEvent* xE, int count) - } - - /* Update device axis */ -- for (i = 1; i < count; i++) { -+ /* Don't update valuators for the VCP, it never sends XI events anyway */ -+ for (i = 1; !device->isMaster && i < count; i++) { - if ((++xV)->type == DeviceValuator) { - int *axisvals; - int first = xV->first_valuator; - BOOL change = FALSE; - -+ - if (xV->num_valuators && - (!v || (xV->num_valuators && - (first + xV->num_valuators > v->numAxes)))) -@@ -1009,7 +1011,9 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr device, int count) - } - - /* Valuator event handling */ -- for (i = 1; i < count; i++) { -+ /* Don't care about valuators for the VCP, it never sends XI events */ -+ -+ for (i = 1; !device->isMaster && i < count; i++) { - if ((++xV)->type == DeviceValuator) { - int first = xV->first_valuator; - if (xV->num_valuators - diff --git a/debian/patches/151_allow-null-as-rulesfile.patch b/debian/patches/151_allow-null-as-rulesfile.patch deleted file mode 100644 index 5a2d4ad..0000000 --- a/debian/patches/151_allow-null-as-rulesfile.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 7ef9f6ba03ddb40db1b1d1cba4153db3f6b81b4e Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutte...@redhat.com> -Date: Wed, 3 Dec 2008 15:06:37 +1000 -Subject: [PATCH] xkb: Allow NULL as rulesFile in XkbSetRulesDflts. - -If no rules file is given, simply re-use the previous one. If no RF is given -the first time this function is called, use the built-in default. -This includes fixing the built-in default to something that actually exists. - -Signed-off-by: Peter Hutterer <peter.hutte...@redhat.com> ---- - xkb/xkbInit.c | 29 ++++++++++++++++++++++++----- - 1 files changed, 24 insertions(+), 5 deletions(-) - -diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c -index 0b93e87..3a0e375 100644 ---- a/xkb/xkbInit.c -+++ b/xkb/xkbInit.c -@@ -93,7 +93,7 @@ typedef struct _SrvXkmInfo { - #define XKB_BIN_DIRECTORY XKB_BASE_DIRECTORY - #endif - #ifndef XKB_DFLT_RULES_FILE --#define XKB_DFLT_RULES_FILE "rules" -+#define XKB_DFLT_RULES_FILE "base" - #endif - #ifndef XKB_DFLT_KB_LAYOUT - #define XKB_DFLT_KB_LAYOUT "us" -@@ -240,14 +240,33 @@ XkbSetRulesUsed(XkbRF_VarDefsPtr defs) - return; - } - -+/** -+ * Set the default RMLVO for the next device to be initialised. -+ * If a parameter is NULL, the previous setting will be used. Use empty -+ * strings if you want to delete a previous setting. -+ * -+ * If @rulesFile is NULL and no previous @rulesFile has been set, the -+ * built-in default is chosen as default. -+ */ - _X_EXPORT void - XkbSetRulesDflts(char *rulesFile,char *model,char *layout, - char *variant,char *options) - { -- if (XkbRulesFile) -- _XkbFree(XkbRulesFile); -- XkbRulesFile= _XkbDupString(rulesFile); -- rulesDefined= True; -+ if (!rulesFile && !XkbRulesFile) -+ { -+ LogMessage(X_WARNING, "[xkb] No rule given, and no previous rule " -+ "defined. Defaulting to '%s'.\n", -+ XKB_DFLT_RULES_FILE); -+ rulesFile = XKB_DFLT_RULES_FILE; -+ } -+ -+ if (rulesFile) { -+ if (XkbRulesFile) -+ _XkbFree(XkbRulesFile); -+ XkbRulesFile= _XkbDupString(rulesFile); -+ rulesDefined= True; -+ } -+ - if (model) { - if (XkbModelDflt) - _XkbFree(XkbModelDflt); --- -1.6.0.4 - diff --git a/debian/patches/series b/debian/patches/series index 915f80f..ce40c3d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -11,8 +11,6 @@ 135_rethrow_signals.patch 140_quell_acpi_errmsgs.patch 143_default_to_vesa.patch -150_dont-update-vcp-valuators.patch -151_allow-null-as-rulesfile.patch 152_let-the-ddx-decide-on-the-xkbrulesdefaults.patch 153_make_dmx_compile.patch 154_force-copykeyclass-for-key-events.patch commit e0df85b52b059b2202305faf99ab7f6e8ac0b747 Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Wed Dec 31 11:09:45 2008 +0200 Disable patch 107 for now. diff --git a/debian/changelog b/debian/changelog index c12ce09..e7a1b46 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ xorg-server (2:1.5.99.3-0ubuntu4) UNRELEASED; urgency=low * debian/rules: Enable dbus-support. * Merge current server-1.6-branch. + * Disable patch 107 for now, to see what kind of a performance hit + it'll be. The problem it causes is random garbage on windows + while apps are being loaded. -- Timo Aaltonen <tjaal...@ubuntu.com> Wed, 17 Dec 2008 15:02:53 +0200 diff --git a/debian/patches/series b/debian/patches/series index 907ec23..915f80f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,7 +5,7 @@ 101_fedora_xserver-1.3.0-document-fontpath-correctly.patch 102_ubuntu_sharevts_load_cpu.patch 103_psb_auto.patch -107_fedora_dont_backfill_bg_none.patch +#107_fedora_dont_backfill_bg_none.patch 110_fedora_no_move_damage.patch 121_only_switch_vt_when_active.diff 135_rethrow_signals.patch commit bce31c9b8828a708abaf44e50f5482bd7a639fab Author: Timo Aaltonen <tjaal...@cc.hut.fi> Date: Wed Dec 31 11:07:24 2008 +0200 Update the changelog to reflect the merge. diff --git a/debian/changelog b/debian/changelog index 576a64f..c12ce09 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xorg-server (2:1.5.99.3-0ubuntu4) UNRELEASED; urgency=low * debian/rules: Enable dbus-support. + * Merge current server-1.6-branch. -- Timo Aaltonen <tjaal...@ubuntu.com> Wed, 17 Dec 2008 15:02:53 +0200 commit 32e81074b967716865aef08b66ec29caf0fec2c5 Author: Robert Noland <rnol...@2hip.net> Date: Tue Dec 16 00:07:42 2008 -0500 Support -sharevts on FreeBSD Bugzilla #11179 Submitted-by: Nathan Whitehorn Signed-off-by: Robert Noland <rnol...@2hip.net> (cherry picked from commit 7aa29b9d66c3cd0f8af4fafbe92efd0c0556d225) diff --git a/hw/xfree86/os-support/bsd/bsd_init.c b/hw/xfree86/os-support/bsd/bsd_init.c index cbb9e48..7698084 100644 --- a/hw/xfree86/os-support/bsd/bsd_init.c +++ b/hw/xfree86/os-support/bsd/bsd_init.c @@ -45,6 +45,7 @@ static int devConsoleFd = -1; #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) static int VTnum = -1; static int initialVT = -1; +static Bool ShareVTs = FALSE; #endif #ifdef PCCONS_SUPPORT @@ -269,44 +270,48 @@ xf86OpenConsole() } #endif acquire_vt: - /* - * now get the VT - */ - SYSCALL(result = - ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno)); - if (result != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); - } - SYSCALL(result = + if (!ShareVTs) { + /* + * now get the VT + */ + SYSCALL(result = + ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno)); + if (result != 0) + { + xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); + } + SYSCALL(result = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno)); - if (result != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); - } + if (result != 0) + { + xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); + } - signal(SIGUSR1, xf86VTRequest); + signal(SIGUSR1, xf86VTRequest); - vtmode.mode = VT_PROCESS; - vtmode.relsig = SIGUSR1; - vtmode.acqsig = SIGUSR1; - vtmode.frsig = SIGUSR1; - if (ioctl(xf86Info.consoleFd, VT_SETMODE, &vtmode) < 0) - { - FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed"); - } -#if !defined(USE_DEV_IO) && !defined(USE_I386_IOPL) - if (ioctl(xf86Info.consoleFd, KDENABIO, 0) < 0) - { - FatalError("xf86OpenConsole: KDENABIO failed (%s)", - strerror(errno)); - } -#endif - if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) - { - FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed"); - } - break; + vtmode.mode = VT_PROCESS; + vtmode.relsig = SIGUSR1; + vtmode.acqsig = SIGUSR1; + vtmode.frsig = SIGUSR1; + if (ioctl(xf86Info.consoleFd, VT_SETMODE, &vtmode) < 0) + { + FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed"); + } + #if !defined(USE_DEV_IO) && !defined(USE_I386_IOPL) + if (ioctl(xf86Info.consoleFd, KDENABIO, 0) < 0) + { + FatalError("xf86OpenConsole: KDENABIO failed (%s)", + strerror(errno)); + } + #endif + if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) + { + FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed"); + } + } else { /* ShareVTs */ + close(xf86Info.consoleFd); + } + break; #endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */ #ifdef WSCONS_SUPPORT case WSCONS: @@ -319,7 +324,7 @@ acquire_vt: { /* serverGeneration != 1 */ #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) - if (xf86Info.consType == SYSCONS || xf86Info.consType == PCVT) + if (!ShareVTs) if (xf86Info.consType == SYSCONS || xf86Info.consType == PCVT) { if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) { @@ -392,6 +397,9 @@ xf86OpenSyscons() if (ioctl(fd, VT_GETACTIVE, &initialVT) < 0) initialVT = -1; #endif + if (ShareVTs) + xf86Info.vtno = initialVT; + if (xf86Info.vtno == -1) { /* @@ -651,6 +659,8 @@ xf86CloseConsole() struct vt_mode VT; #endif + if (ShareVTs) return; + switch (xf86Info.consType) { #ifdef PCCONS_SUPPORT @@ -717,6 +727,11 @@ xf86ProcessArgument(int argc, char *argv[], int i) return(1); } #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) + if (!strcmp(argv[i], "-sharevts")) + { + ShareVTs = TRUE; + return(1); + } if ((argv[i][0] == 'v') && (argv[i][1] == 't')) { if (sscanf(argv[i], "vt%2d", &VTnum) == 0 || @@ -737,6 +752,7 @@ xf86UseMsg() { #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) ErrorF("vtXX use the specified VT number (1-12)\n"); + ErrorF("-sharevts share VTs with another X server\n"); #endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */ ErrorF("-keeptty "); ErrorF("don't detach controlling tty (for debugging only)\n"); commit 4c68079c2ae8a2f04363623c44d17bc8c255c3bf Author: Ian Romanick <ian.d.roman...@intel.com> Date: Sun Dec 14 18:58:33 2008 -0800 GLX: Changes resulting from changes to Mesa generator scripts / data Several recent Mesa commits (listed below) make modifications to the protocol generator data and scripts. This commit represents the changes to the generated files resulting from the previous changes. - 0f73302d24f4201813da2939742c5bcb6964b3b1 GLX: Fix protocol for glTexSubImage#D - 1709ab01ef24279c782e420568e9257b4b92b224 Return 0 as the request size when the pixels parameter is NULL - 63cca2ba10ce7dcc8481cfa4be3872dfc269dded GLX: Include glapi.h before glapitable.h This is the server-side part of the fix for bugzilla #11003. (cherry picked from commit f1c9b5ab230cbb4124d8d476ae4886d05022adcb) diff --git a/glx/dispatch.h b/glx/dispatch.h index 7123156..f019aa6 100644 --- a/glx/dispatch.h +++ b/glx/dispatch.h @@ -28,6 +28,8 @@ #if !defined( _DISPATCH_H_ ) # define _DISPATCH_H_ + +#include "glapitable.h" /** * \file dispatch.h * Macros for handling GL dispatch tables. diff --git a/glx/glapi.h b/glx/glapi.h index ddfb1cf..8f2cf66 100644 --- a/glx/glapi.h +++ b/glx/glapi.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -44,12 +44,17 @@ #ifndef _GLAPI_H #define _GLAPI_H +#define GL_GLEXT_PROTOTYPES #include "GL/gl.h" -#include "glapitable.h" +#include "GL/glext.h" #include "glthread.h" +struct _glapi_table; + +typedef void (*_glapi_proc)(void); /* generic function pointer */ + typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...); @@ -63,6 +68,12 @@ typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...); #endif +/* + * Number of extension functions which we can dynamically add at runtime. + */ +#define MAX_EXTENSION_FUNCS 300 + + /** ** Define the GET_CURRENT_CONTEXT() macro. ** \param C local variable which will hold the current context. diff --git a/glx/glapitable.h b/glx/glapitable.h index 48941f5..5d9d40a 100644 --- a/glx/glapitable.h +++ b/glx/glapitable.h @@ -37,7 +37,6 @@ # define GLAPIENTRYP GLAPIENTRY * #endif -typedef void (*_glapi_proc)(void); /* generic function pointer */ struct _glapi_table { diff --git a/glx/glthread.c b/glx/glthread.c index 813d6f9..b818f4e 100644 --- a/glx/glthread.c +++ b/glx/glthread.c @@ -34,6 +34,7 @@ #endif #include <stdlib.h> +#include <stdio.h> #include "glthread.h" diff --git a/glx/indirect_dispatch.c b/glx/indirect_dispatch.c index 2afd3eb..6547f5d 100644 --- a/glx/indirect_dispatch.c +++ b/glx/indirect_dispatch.c @@ -36,8 +36,8 @@ #include "glxbyteorder.h" #include "indirect_util.h" #include "singlesize.h" -#include "glapitable.h" #include "glapi.h" +#include "glapitable.h" #include "glthread.h" #include "dispatch.h" @@ -2972,8 +2972,7 @@ void __glXDisp_PrioritizeTextures(GLbyte * pc) void __glXDisp_TexSubImage1D(GLbyte * pc) { - const CARD32 ptr_is_null = *(CARD32 *)(pc + 52); - const GLvoid * const pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 56); + const GLvoid * const pixels = (const GLvoid *) (pc + 56); __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc); CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes) ); @@ -2996,8 +2995,7 @@ void __glXDisp_TexSubImage1D(GLbyte * pc) void __glXDisp_TexSubImage2D(GLbyte * pc) { - const CARD32 ptr_is_null = *(CARD32 *)(pc + 52); - const GLvoid * const pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 56); + const GLvoid * const pixels = (const GLvoid *) (pc + 56); __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc); CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes) ); @@ -3773,8 +3771,7 @@ void __glXDisp_TexImage3D(GLbyte * pc) void __glXDisp_TexSubImage3D(GLbyte * pc) { - const CARD32 ptr_is_null = *(CARD32 *)(pc + 84); - const GLvoid * const pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 88); + const GLvoid * const pixels = (const GLvoid *) (pc + 88); __GLXpixel3DHeader * const hdr = (__GLXpixel3DHeader *)(pc); CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes) ); diff --git a/glx/indirect_dispatch_swap.c b/glx/indirect_dispatch_swap.c index f137cbe..0b8c27c 100644 --- a/glx/indirect_dispatch_swap.c +++ b/glx/indirect_dispatch_swap.c @@ -36,8 +36,8 @@ #include "glxbyteorder.h" #include "indirect_util.h" #include "singlesize.h" -#include "glapitable.h" #include "glapi.h" +#include "glapitable.h" #include "glthread.h" #include "dispatch.h" @@ -3092,8 +3092,7 @@ void __glXDispSwap_PrioritizeTextures(GLbyte * pc) void __glXDispSwap_TexSubImage1D(GLbyte * pc) { - const CARD32 ptr_is_null = *(CARD32 *)(pc + 52); - const GLvoid * const pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 56); + const GLvoid * const pixels = (const GLvoid *) (pc + 56); __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc); CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes) ); @@ -3116,8 +3115,7 @@ void __glXDispSwap_TexSubImage1D(GLbyte * pc) void __glXDispSwap_TexSubImage2D(GLbyte * pc) { - const CARD32 ptr_is_null = *(CARD32 *)(pc + 52); - const GLvoid * const pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 56); + const GLvoid * const pixels = (const GLvoid *) (pc + 56); __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc); CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes) ); @@ -3909,8 +3907,7 @@ void __glXDispSwap_TexImage3D(GLbyte * pc) void __glXDispSwap_TexSubImage3D(GLbyte * pc) { - const CARD32 ptr_is_null = *(CARD32 *)(pc + 84); - const GLvoid * const pixels = (const GLvoid *) (ptr_is_null != 0) ? NULL : (pc + 88); + const GLvoid * const pixels = (const GLvoid *) (pc + 88); __GLXpixel3DHeader * const hdr = (__GLXpixel3DHeader *)(pc); CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes) ); diff --git a/glx/indirect_reqsize.c b/glx/indirect_reqsize.c index 954eecd..c47f01e 100644 --- a/glx/indirect_reqsize.c +++ b/glx/indirect_reqsize.c @@ -572,6 +572,9 @@ __glXTexImage3DReqSize(const GLbyte *pc, Bool swap) type = bswap_32(type); } + if (*(CARD32 *) (pc + 76)) + return 0; + return __glXImageSize(format, type, target, width, height, depth, image_height, row_length, skip_images, skip_rows, alignment); commit 75bad86992338f5ce0ade6986b758cd6af2a5b9a Author: Cooper Yuan <cooper.y...@amd.com> Date: Mon Dec 15 10:29:34 2008 -0500 Fix typo in xf86PickCrtcs() (cherry picked from commit 2a61397d17339113b9e37995b06ca543589814ce) diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index 78105b6..b972974 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -976,7 +976,7 @@ xf86PickCrtcs (ScrnInfoPtr scrn, * see if they can be cloned */ if (xf86ModesEqual (modes[o], modes[n]) && - config->output[0]->initial_rotation == config->output[n]->initial_rotation && + config->output[o]->initial_rotation == config->output[n]->initial_rotation && config->output[o]->initial_x == config->output[n]->initial_x && config->output[o]->initial_y == config->output[n]->initial_y) { commit f427d3aaa7ca58822033ac5486b46671a937b68a Author: Jeremy Huddleston <jerem...@freedesktop.org> Date: Sat Dec 13 00:45:27 2008 -0800 XQuartz: Updated menu item ordering for better HIG compliance (cherry picked from commit 4c9bb241ce5fb856fab20ae96fa89bd2b71ef242) (cherry picked from commit 73987010b2ef9c67b6614e226c6fae65d834d8f3) diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib index 1ed46e9..d271625 100644 --- a/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib +++ b/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9F33</string> - <string key="IBDocument.InterfaceBuilderVersion">672</string> - <string key="IBDocument.AppKitVersion">949.34</string> - <string key="IBDocument.HIToolboxVersion">352.00</string> + <string key="IBDocument.SystemVersion">9G55</string> + <string key="IBDocument.InterfaceBuilderVersion">677</string> + <string key="IBDocument.AppKitVersion">949.43</string> + <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> </object> @@ -13,6 +13,15 @@ <bool key="EncodedWithXMLCoder">YES</bool> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> <object class="NSMutableArray" key="IBDocument.RootObjects" id="904585544"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSCustomObject" id="815810918"> @@ -256,6 +265,15 @@ </object> <object class="NSMutableArray" key="NSMenuItems"> <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMenuItem" id="984461797"> + <reference key="NSMenu" ref="96874957"/> + <string key="NSTitle">Close</string> + <string key="NSKeyEquiv">w</string> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="531645050"/> + <reference key="NSMixedImage" ref="351811234"/> + </object> <object class="NSMenuItem" id="677652931"> <reference key="NSMenu" ref="96874957"/> <string key="NSTitle">Minimize</string> @@ -274,6 +292,17 @@ <reference key="NSOnImage" ref="531645050"/> <reference key="NSMixedImage" ref="351811234"/> </object> + <object class="NSMenuItem" id="280172320"> + <reference key="NSMenu" ref="96874957"/> + <bool key="NSIsDisabled">YES</bool> + <bool key="NSIsSeparator">YES</bool> + <string key="NSTitle"/> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="531645050"/> + <reference key="NSMixedImage" ref="351811234"/> + </object> <object class="NSMenuItem" id="1036389925"> <reference key="NSMenu" ref="96874957"/> <string key="NSTitle">Cycle Through Windows</string> @@ -292,26 +321,6 @@ <reference key="NSOnImage" ref="531645050"/> <reference key="NSMixedImage" ref="351811234"/> </object> - <object class="NSMenuItem" id="280172320"> - <reference key="NSMenu" ref="96874957"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="531645050"/> - <reference key="NSMixedImage" ref="351811234"/> - </object> - <object class="NSMenuItem" id="984461797"> - <reference key="NSMenu" ref="96874957"/> - <string key="NSTitle">Close</string> - <string key="NSKeyEquiv">w</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="531645050"/> - <reference key="NSMixedImage" ref="351811234"/> - </object> <object class="NSMenuItem" id="155085383"> <reference key="NSMenu" ref="96874957"/> <bool key="NSIsDisabled">YES</bool> @@ -1442,6 +1451,7 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> </object> <string key="NSFrame">{{1, 17}, {301, 198}}</string> <reference key="NSSuperview" ref="1063387772"/> + <reference key="NSNextKeyView" ref="905092943"/> <reference key="NSDocView" ref="905092943"/> <reference key="NSBGColor" ref="812484075"/> <int key="NScvFlags">4</int> @@ -1474,6 +1484,7 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> </object> <string key="NSFrame">{{1, 0}, {301, 17}}</string> <reference key="NSSuperview" ref="1063387772"/> + <reference key="NSNextKeyView" ref="792419186"/> <reference key="NSDocView" ref="792419186"/> <reference key="NSBGColor" ref="812484075"/> <int key="NScvFlags">4</int> @@ -1482,6 +1493,7 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> </object> <string key="NSFrame">{{20, 20}, {318, 231}}</string> <reference key="NSSuperview" ref="85544634"/> + <reference key="NSNextKeyView" ref="580565898"/> <int key="NSsFlags">50</int> <reference key="NSVScroller" ref="842897584"/> <reference key="NSHScroller" ref="17278747"/> @@ -2195,11 +2207,11 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> <reference ref="276216762"/> <reference ref="1066447520"/> <reference ref="1036389925"/> - <reference ref="280172320"/> <reference ref="369641893"/> - <reference ref="984461797"/> <reference ref="155085383"/> <reference ref="444952046"/> + <reference ref="984461797"/> + <reference ref="280172320"/> </object> <reference key="parent" ref="931553638"/> </object> @@ -3626,7 +3638,7 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{204, 683}, {315, 153}}</string> + <string>{{349, 858}, {315, 153}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{271, 666}, {301, 153}}</string> @@ -3634,7 +3646,7 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> <string>{{437, 749}, {484, 308}}</string> <reference ref="9"/> <string>{{184, 290}, {481, 345}}</string> - <integer value="0"/> + <integer value="0" id="8"/> <reference ref="9"/> <string>{3.40282e+38, 3.40282e+38}</string> <string>{320, 240}</string> @@ -3654,13 +3666,13 @@ d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4</string> <string>{{68, 585}, {454, 271}}</string> <reference ref="9"/> <string>{{433, 406}, {486, 327}}</string> - <integer value="0"/> + <reference ref="8"/> <reference ref="9"/> <string>{3.40282e+38, 3.40282e+38}</string> <string>{320, 240}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{8, 844}, {336, 20}}</string> + <string>{{145, 1011}, {336, 20}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{67, 819}, {336, 20}}</string> diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib index 16c7109..ee6cdf2 100644 Binary files a/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib and b/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib differ commit d0eb4337e3468a5854e4801fcb1d2bc7d5c4d81f Author: Jeremy Huddleston <jerem...@freedesktop.org> Date: Wed Dec 10 23:04:30 2008 -0800 XQuartz: Tiger fix, don't call Xplugin code in the Appkit thread if Xplugin isn't threadsafe. (cherry picked from commit 748d9e5bd756513d42c4046f3b31e1fdc55bccb6) (cherry picked from commit fd31984e0c0f9a37087cd1cffaa3ba116b12c2e5) diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m index 371b6d6..2c6b60b 100644 --- a/hw/xquartz/X11Application.m +++ b/hw/xquartz/X11Application.m @@ -1008,6 +1008,9 @@ extern int darwin_modifier_flags; // darwinEvents.c pDev = darwinTabletCurrent; } +/* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */ +#ifdef XPLUGIN_VERSION +#if XPLUGIN_VERSION > 0 if(!quartzServerVisible) { xp_window_id wid; @@ -1023,6 +1026,8 @@ extern int darwin_modifier_flags; // darwinEvents.c wid == 0) return; } +#endif +#endif DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y, pressure, tilt_x, tilt_y); commit d9e1fdcd40bf12378c9fa05a8adbe3aefca65676 Author: Jeremy Huddleston <jerem...@freedesktop.org> Date: Wed Dec 10 01:56:01 2008 -0800 XQuartz: Fix path to executable (cherry picked from commit 7e9d3698e070a0c63dd2556651373c3aca58e2fe) (cherry picked from commit 5926b213b39a90601c73f026dc0699723f5ed10d) diff --git a/hw/xquartz/bundle/X11.sh b/hw/xquartz/bundle/X11.sh index 5e00a82..2f953d1 100755 --- a/hw/xquartz/bundle/X11.sh +++ b/hw/xquartz/bundle/X11.sh @@ -1,3 +1,3 @@ #!/bin/bash --login -./X11 "$...@}" +"$(dirname $0)"/X11 "$...@}" commit e93daf4e7140115f9485c8c0cdc358d50c9575be Author: Jeremy Huddleston <jerem...@freedesktop.org> Date: Wed Dec 10 00:00:29 2008 -0800 XQuartz: fixed make dist (cherry picked from commit 2d52367ab92429e58596d1a1ed3ef52a0a38a7aa) (cherry picked from commit 13eff12902be1b25d0ccc2089e08305f88949f32) diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp index 16434f2..9713289 100644 --- a/hw/xquartz/bundle/Info.plist.cpp +++ b/hw/xquartz/bundle/Info.plist.cpp @@ -5,7 +5,7 @@ <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> - <string>X11</string> + <string>X11.sh</string> <key>CFBundleGetInfoString</key> <string>APPLE_APPLICATION_NAME</string> <key>CFBundleIconFile</key> diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am index e765d6e..03fa1dd 100644 --- a/hw/xquartz/bundle/Makefile.am +++ b/hw/xquartz/bundle/Makefile.am @@ -17,6 +17,7 @@ resource_DATA = Xquartz.plist EXTRA_DIST = \ mk_bundke.sh \ + X11.sh \ Info.plist.cpp \ PkgInfo \ $(resource_DATA) \ commit 1cf76f23c7d210d75a401568c5ad788a2fd268d1 Author: Jeremy Huddleston <jerem...@freedesktop.org> Date: Tue Dec 9 23:47:32 2008 -0800 XQuartz: Avoid using login /bin/sh blech. Just use a bash script to start the app, so it will inherit the right environment (cherry picked from commit f4b7ad9cc6b0c99fc7ee8516c4bf858ece938148) (cherry picked from commit fdf64256127b2661bd6aa81ac694350028d36c43) diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m index 67a80d3..7222f46 100644 --- a/hw/xquartz/X11Controller.m +++ b/hw/xquartz/X11Controller.m @@ -314,65 +314,79 @@ BOOL xquartz_resetenv_display = NO; - (void) launch_client:(NSString *)filename { - const char *command = [filename UTF8String]; - const char *argv[7]; - int child1, child2 = 0; - int status; - - argv[0] = "/usr/bin/login"; - argv[1] = "-fp"; - argv[2] = getlogin(); - argv[3] = [X11App prefs_get_string:@PREFS_LOGIN_SHELL default:"/bin/sh"]; - argv[4] = "-c"; - argv[5] = command; - argv[6] = NULL; - - /* Do the fork-twice trick to avoid having to reap zombies */ + const char *command = [filename UTF8String]; + int child1, child2 = 0; + int status; + char newcommand[1024]; + char *newargv[1024]; + char buf[128]; + size_t newargc; + char *s; - child1 = fork(); + if(strlen(command) > 1023) { + fprintf(stderr, "Error: command is too long: %s\n", command); + return; + } + + strlcpy(newcommand, command, 1024); - switch (child1) { - case -1: /* error */ - break; + for(newargc=0, s=newcommand; *s; newargc++) { + for(; *s && *s == ' '; s++); + if(!*s) + break; + + newargv[newargc] = s; + for(; *s && *s != ' '; s++); + + if(*s) { + *s='\0'; + s++; + } + } + newargv[newargc] = NULL; + + s = getenv("DISPLAY"); + if (xquartz_resetenv_display || s == NULL || s[0] == 0) { + snprintf(buf, sizeof(buf), ":%s", display); + setenv("DISPLAY", buf, TRUE); + } + + /* Do the fork-twice trick to avoid having to reap zombies */ + child1 = fork(); + switch (child1) { + case -1: /* error */ + break; - case 0: /* child1 */ - child2 = fork(); + case 0: /* child1 */ + child2 = fork(); - switch (child2) { - int max_files, i; - char buf[1024], *temp; - - case -1: /* error */ - _exit(1); - - case 0: /* child2 */ - /* close all open files except for standard streams */ - max_files = sysconf(_SC_OPEN_MAX); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org