[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'upstream-experimental'



 Xext/bigreq.c                              |    7 
 Xext/dpms.c                                |   60 -
 Xext/geext.c                               |   16 
 Xext/panoramiX.c                           |   74 +-
 Xext/panoramiXSwap.c                       |   26 
 Xext/panoramiXsrv.h                        |    2 
 Xext/saver.c                               |   68 -
 Xext/security.c                            |   37 -
 Xext/shape.c                               |  110 +--
 Xext/shm.c                                 |  114 +--
 Xext/sync.c                                |  186 +----
 Xext/xcmisc.c                              |   41 -
 Xext/xf86bigfont.c                         |   62 -
 Xext/xres.c                                |   64 -
 Xext/xselinux_ext.c                        |   67 -
 Xext/xtest.c                               |   30 
 Xext/xvdisp.c                              |  407 +++++------
 Xi/allowev.c                               |    6 
 Xi/chgdctl.c                               |   15 
 Xi/chgfctl.c                               |   52 -
 Xi/chgkbd.c                                |    4 
 Xi/chgkmap.c                               |    3 
 Xi/chgprop.c                               |    8 
 Xi/chgptr.c                                |    4 
 Xi/closedev.c                              |    4 
 Xi/devbell.c                               |    4 
 Xi/exevents.c                              |   96 ++
 Xi/extinit.c                               |  238 +++---
 Xi/getbmap.c                               |   10 
 Xi/getdctl.c                               |   33 
 Xi/getfctl.c                               |   64 -
 Xi/getfocus.c                              |   14 
 Xi/getkmap.c                               |   10 
 Xi/getmmap.c                               |   10 
 Xi/getprop.c                               |   14 
 Xi/getselev.c                              |   16 
 Xi/getvers.c                               |   16 
 Xi/grabdev.c                               |   16 
 Xi/grabdevb.c                              |   10 
 Xi/grabdevk.c                              |   10 
 Xi/gtmotion.c                              |   20 
 Xi/listdev.c                               |   28 
 Xi/opendev.c                               |   10 
 Xi/queryst.c                               |   13 
 Xi/selectev.c                              |    8 
 Xi/sendexev.c                              |    7 
 Xi/setbmap.c                               |   10 
 Xi/setdval.c                               |   10 
 Xi/setfocus.c                              |    8 
 Xi/setmmap.c                               |   10 
 Xi/setmode.c                               |   10 
 Xi/ungrdev.c                               |    6 
 Xi/ungrdevb.c                              |    8 
 Xi/ungrdevk.c                              |    8 
 Xi/xiallowev.c                             |    8 
 Xi/xichangecursor.c                        |   10 
 Xi/xichangehierarchy.c                     |   11 
 Xi/xigetclientpointer.c                    |   12 
 Xi/xigrabdev.c                             |   28 
 Xi/xipassivegrab.c                         |   60 -
 Xi/xiproperty.c                            |  107 +--
 Xi/xiquerydevice.c                         |  142 ++--
 Xi/xiquerydevice.h                         |    1 
 Xi/xiquerypointer.c                        |   30 
 Xi/xiqueryversion.c                        |   17 
 Xi/xiselectev.c                            |   30 
 Xi/xisetclientpointer.c                    |    8 
 Xi/xisetdevfocus.c                         |   23 
 Xi/xiwarppointer.c                         |   24 
 composite/compalloc.c                      |   11 
 composite/compext.c                        |   74 --
 config/Makefile.am                         |    6 
 config/config-backends.h                   |    7 
 config/config.c                            |   20 
 config/dbus.c                              |   60 -
 config/hal.c                               |   44 -
 config/udev.c                              |   63 +
 config/wscons.c                            |  268 +++++++
 configure.ac                               |  167 ++--
 damageext/damageext.c                      |   44 -
 dbe/dbe.c                                  |   68 -
 devbook.am                                 |   45 -
 dix/.gitignore                             |    1 
 dix/colormap.c                             |    7 
 dix/cursor.c                               |    2 
 dix/devices.c                              |   61 +
 dix/dispatch.c                             |   33 
 dix/dixfonts.c                             |   30 
 dix/enterleave.c                           |   10 
 dix/eventconvert.c                         |   70 +-
 dix/events.c                               |  313 +++++----
 dix/getevents.c                            |  831 +++++++++++++++---------
 dix/grabs.c                                |    2 
 dix/inpututils.c                           |  320 +++++++++
 dix/ptrveloc.c                             |  263 +++----
 dix/swaprep.c                              |  401 ++++-------
 dix/swapreq.c                              |  728 +++++++++------------
 doc/Xinput.xml                             |   26 
 doc/Xserver-spec.xml                       |   33 
 doc/dtrace/Xserver-DTrace.xml              |   22 
 docbook.am                                 |  114 +--
 fb/fbpict.c                                |    4 
 fb/wfbrename.h                             |    2 
 glx/glxserver.h                            |    6 
 hw/dmx/config/xdmxconfig.c                 |   23 
 hw/dmx/dmx.c                               |  241 +++---
 hw/dmx/dmxclient.h                         |    1 
 hw/dmx/dmxcursor.h                         |    4 
 hw/dmx/dmxextension.c                      |    2 
 hw/dmx/dmxinit.c                           |   11 
 hw/dmx/dmxprop.c                           |    9 
 hw/dmx/doc/dmx.xml                         |   11 
 hw/dmx/examples/dmxwininfo.c               |    3 
 hw/dmx/glxProxy/glxcmds.c                  |   41 +
 hw/dmx/glxProxy/glxscreens.c               |   39 -
 hw/dmx/glxProxy/glxserver.h                |    6 
 hw/dmx/glxProxy/render2swap.c              |    2 
 hw/dmx/input/dmxinputinit.c                |    6 
 hw/dmx/input/lnx-keyboard.c                |    6 
 hw/dmx/input/usb-common.c                  |    4 
 hw/kdrive/ephyr/ephyrdriext.c              |   24 
 hw/kdrive/ephyr/ephyrhostproxy.c           |    2 
 hw/kdrive/ephyr/hostx.c                    |   11 
 hw/kdrive/ephyr/man/Xephyr.man             |   32 
 hw/kdrive/src/kinfo.c                      |   12 
 hw/kdrive/src/kinput.c                     |  139 ++--
 hw/vfb/InitOutput.c                        |    5 
 hw/xfree86/Makefile.am                     |    2 
 hw/xfree86/common/Makefile.am              |   11 
 hw/xfree86/common/xf86.h                   |   19 
 hw/xfree86/common/xf86AutoConfig.c         |    4 
 hw/xfree86/common/xf86Bus.c                |   19 
 hw/xfree86/common/xf86Bus.h                |    1 
 hw/xfree86/common/xf86Config.c             |  222 ++----
 hw/xfree86/common/xf86Configure.c          |    6 
 hw/xfree86/common/xf86Cursor.c             |    2 
 hw/xfree86/common/xf86DGA.c                |    2 
 hw/xfree86/common/xf86DPMS.c               |    3 
 hw/xfree86/common/xf86Events.c             |    9 
 hw/xfree86/common/xf86Globals.c            |    9 
 hw/xfree86/common/xf86Helper.c             |  157 ----
 hw/xfree86/common/xf86Init.c               |   76 +-
 hw/xfree86/common/xf86Module.h             |    6 
 hw/xfree86/common/xf86Opt.h                |   67 -
 hw/xfree86/common/xf86Option.c             |  114 +--
 hw/xfree86/common/xf86Optionstr.h          |   44 +
 hw/xfree86/common/xf86PciInfo.h            |    2 
 hw/xfree86/common/xf86Privstr.h            |    8 
 hw/xfree86/common/xf86RandR.c              |    3 
 hw/xfree86/common/xf86VGAarbiter.c         |   15 
 hw/xfree86/common/xf86VidMode.c            |    3 
 hw/xfree86/common/xf86Xinput.c             |   99 +-
 hw/xfree86/common/xf86Xinput.h             |    7 
 hw/xfree86/common/xf86fbBus.c              |    2 
 hw/xfree86/common/xf86pciBus.c             |   30 
 hw/xfree86/common/xf86str.h                |    8 
 hw/xfree86/dixmods/Makefile.am             |   12 
 hw/xfree86/dixmods/extmod/Makefile.am      |    2 
 hw/xfree86/dixmods/extmod/xf86vmode.c      |  444 ++++++------
 hw/xfree86/doc/ddxDesign.xml               |   35 -
 hw/xfree86/dri/xf86dri.c                   |   24 
 hw/xfree86/dri2/dri2.c                     |   58 +
 hw/xfree86/dri2/dri2.h                     |   31 
 hw/xfree86/dri2/dri2ext.c                  |   19 
 hw/xfree86/exa/Makefile.am                 |    2 
 hw/xfree86/fbdevhw/Makefile.am             |    2 
 hw/xfree86/fbdevhw/fbdevhw.c               |    1 
 hw/xfree86/fbdevhw/fbdevhw.h               |    2 
 hw/xfree86/i2c/fi1236.c                    | 1002 +++++++++++++++--------------
 hw/xfree86/int10/generic.c                 |   86 --
 hw/xfree86/int10/helper_exec.c             |   86 +-
 hw/xfree86/int10/helper_mem.c              |    3 
 hw/xfree86/int10/xf86int10.c               |   61 -
 hw/xfree86/int10/xf86int10.h               |    2 
 hw/xfree86/loader/loadmod.c                |   41 -
 hw/xfree86/man/Xorg.man                    |    7 
 hw/xfree86/man/xorg.conf.man               |   73 --
 hw/xfree86/modes/xf86Crtc.c                |   72 +-
 hw/xfree86/modes/xf86Crtc.h                |   26 
 hw/xfree86/modes/xf86Cursors.c             |   93 +-
 hw/xfree86/modes/xf86EdidModes.c           |    5 
 hw/xfree86/modes/xf86Modes.c               |   55 +
 hw/xfree86/modes/xf86RandR12.c             |    2 
 hw/xfree86/modes/xf86Rotate.c              |  135 ++-
 hw/xfree86/os-support/Makefile.am          |    5 
 hw/xfree86/os-support/bsd/alpha_video.c    |   71 --
 hw/xfree86/os-support/bsd/arm_video.c      |   13 
 hw/xfree86/os-support/bsd/bsd_bell.c       |    4 
 hw/xfree86/os-support/bsd/bsd_init.c       |   69 -
 hw/xfree86/os-support/bsd/i386_video.c     |    9 
 hw/xfree86/os-support/bsd/ppc_video.c      |   13 
 hw/xfree86/os-support/bsd/sparc64_video.c  |    6 
 hw/xfree86/os-support/bus/Makefile.am      |    9 
 hw/xfree86/os-support/bus/Pci.c            |    8 
 hw/xfree86/os-support/bus/Pci.h            |   17 
 hw/xfree86/os-support/bus/bsd_pci.c        |   16 
 hw/xfree86/os-support/bus/linuxPci.c       |  450 -------------
 hw/xfree86/os-support/bus/nobus.c          |    1 
 hw/xfree86/os-support/bus/xf86Pci.h        |   10 
 hw/xfree86/os-support/linux/Makefile.am    |    4 
 hw/xfree86/os-support/linux/int10/linux.c  |    3 
 hw/xfree86/os-support/linux/lnx_init.c     |   39 -
 hw/xfree86/os-support/linux/lnx_video.c    |   12 
 hw/xfree86/os-support/shared/bios_devmem.c |   75 --
 hw/xfree86/os-support/shared/bios_mmap.c   |    4 
 hw/xfree86/os-support/shared/ia64Pci.c     |  188 -----
 hw/xfree86/os-support/shared/posix_tty.c   |    4 
 hw/xfree86/os-support/shared/vidmem.c      |    6 
 hw/xfree86/os-support/solaris/sun_init.c   |   42 -
 hw/xfree86/os-support/stub/Makefile.am     |   19 
 hw/xfree86/os-support/stub/stub_bell.c     |   10 
 hw/xfree86/os-support/stub/stub_bios.c     |   12 
 hw/xfree86/os-support/stub/stub_init.c     |   26 
 hw/xfree86/os-support/stub/stub_video.c    |   13 
 hw/xfree86/os-support/xf86_OSlib.h         |   65 -
 hw/xfree86/os-support/xf86_OSproc.h        |   15 
 hw/xfree86/parser/Flags.c                  |    5 
 hw/xfree86/parser/Layout.c                 |    2 
 hw/xfree86/parser/Makefile.am              |    2 
 hw/xfree86/parser/scan.c                   |   17 
 hw/xfree86/parser/xf86Optrec.h             |   25 
 hw/xfree86/parser/xf86tokens.h             |    2 
 hw/xfree86/ramdac/xf86Cursor.c             |    6 
 hw/xfree86/ramdac/xf86HWCurs.c             |    4 
 hw/xfree86/sdksyms.sh                      |   11 
 hw/xfree86/shadowfb/Makefile.am            |    2 
 hw/xfree86/utils/cvt/cvt.c                 |    7 
 hw/xfree86/utils/man/cvt.man               |    3 
 hw/xfree86/utils/man/gtf.man               |    3 
 hw/xfree86/vbe/Makefile.am                 |    2 
 hw/xfree86/vbe/vbe.c                       |    5 
 hw/xfree86/vgahw/vgaHW.c                   |  184 +++--
 hw/xfree86/vgahw/vgaHW.h                   |   24 
 hw/xfree86/x86emu/sys.c                    |    2 
 hw/xfree86/xaa/Makefile.am                 |    2 
 hw/xnest/Display.c                         |   15 
 hw/xnest/GC.c                              |    3 
 hw/xnest/Keyboard.c                        |   25 
 hw/xnest/XNCursor.h                        |    4 
 hw/xnest/XNGC.h                            |    1 
 hw/xquartz/X11Application.m                |    2 
 hw/xquartz/applewm.c                       |   12 
 hw/xquartz/darwin.c                        |    2 
 hw/xquartz/pbproxy/Makefile.am             |    1 
 hw/xquartz/pseudoramiX.c                   |   65 -
 hw/xquartz/xpr/appledri.c                  |  149 +++-
 hw/xquartz/xpr/appledristr.h               |  298 ++++----
 hw/xwin/InitOutput.c                       |   66 -
 hw/xwin/XWin.exe.manifest                  |    5 
 hw/xwin/ddraw.h                            |    2 
 hw/xwin/man/XWinrc.man                     |   10 
 hw/xwin/win.h                              |    3 
 hw/xwin/winclipboardwndproc.c              |   48 -
 hw/xwin/winglobals.c                       |    7 
 hw/xwin/winmonitors.c                      |   28 
 hw/xwin/winmultiwindowwndproc.c            |    4 
 hw/xwin/winprocarg.c                       |   32 
 hw/xwin/winwin32rootlesswndproc.c          |    4 
 hw/xwin/winwindowswm.c                     |   10 
 hw/xwin/winwndproc.c                       |    4 
 include/Makefile.am                        |    1 
 include/colormapst.h                       |   17 
 include/cursor.h                           |    4 
 include/dix-config.h.in                    |   15 
 include/dix.h                              |    4 
 include/dixstruct.h                        |    9 
 include/eventstr.h                         |   12 
 include/exevents.h                         |   28 
 include/globals.h                          |    2 
 include/input.h                            |   37 -
 include/inputstr.h                         |   33 
 include/inpututils.h                       |    9 
 include/list.h                             |  172 ++++
 include/misc.h                             |  102 ++
 include/optionstr.h                        |   14 
 include/os.h                               |   17 
 include/protocol-versions.h                |    2 
 include/ptrveloc.h                         |   32 
 include/scrnintstr.h                       |    4 
 include/xorg-config.h.in                   |   18 
 include/xserver-properties.h               |    5 
 man/Xserver.man                            |   20 
 mi/mi.h                                    |    2 
 mi/miarc.c                                 |    2 
 mi/mieq.c                                  |  207 ++++-
 mi/mifpoly.h                               |    6 
 mi/mipointer.c                             |   71 +-
 mi/mipointer.h                             |    8 
 mi/misprite.c                              |    5 
 mi/mivaltree.c                             |    2 
 mi/miwideline.c                            |    2 
 miext/rootless/rootlessScreen.c            |    4 
 os/.gitignore                              |    1 
 os/backtrace.c                             |    5 
 os/connection.c                            |    6 
 os/io.c                                    |    7 
 os/log.c                                   |  175 +++--
 os/utils.c                                 |   14 
 os/xprintf.c                               |    5 
 randr/rrcrtc.c                             |  129 +--
 randr/rrdispatch.c                         |    9 
 randr/rrmode.c                             |    7 
 randr/rroutput.c                           |   33 
 randr/rrproperty.c                         |   67 +
 randr/rrscreen.c                           |  106 +--
 randr/rrsdispatch.c                        |  262 +++----
 randr/rrxinerama.c                         |   88 +-
 record/record.c                            |  151 ++--
 render/mipict.c                            |   67 +
 render/mipict.h                            |   20 
 render/picture.c                           |   44 -
 render/picturestr.h                        |   21 
 render/render.c                            |  446 +++++-------
 test/Makefile.am                           |    3 
 test/input.c                               |  460 +++++++++++++
 test/list.c                                |  164 ++++
 test/misc.c                                |  104 +++
 test/xfree86.c                             |  107 +++
 test/xi2/protocol-common.c                 |   64 +
 test/xi2/protocol-eventconvert.c           |  169 ++--
 test/xi2/protocol-xigetclientpointer.c     |   12 
 test/xi2/protocol-xigetselectedevents.c    |   17 
 test/xi2/protocol-xipassivegrabdevice.c    |   29 
 test/xi2/protocol-xiquerydevice.c          |   98 +-
 test/xi2/protocol-xiquerypointer.c         |   24 
 test/xi2/protocol-xiqueryversion.c         |   16 
 test/xi2/protocol-xiselectevents.c         |   11 
 test/xi2/protocol-xisetclientpointer.c     |    7 
 test/xi2/protocol-xiwarppointer.c          |   19 
 xfixes/cursor.c                            |  122 +--
 xfixes/region.c                            |  156 +---
 xfixes/saveset.c                           |    5 
 xfixes/select.c                            |    9 
 xfixes/xfixes.c                            |   16 
 xkb/ddxList.c                              |   13 
 xkb/ddxLoad.c                              |    3 
 xkb/xkb.c                                  |  413 +++++------
 xkb/xkbAccessX.c                           |    9 
 xkb/xkbActions.c                           |    9 
 xkb/xkbEvents.c                            |  105 +--
 xkb/xkbSwap.c                              |  338 ++++-----
 xorg-server.pc.in                          |    1 
 342 files changed, 9580 insertions(+), 8614 deletions(-)

New commits:
commit 5952efa903d57ac69070f1477ce46223a2a7893c
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 20 13:07:33 2011 -0800

    Bump version to 1.11.99.1 (1.12 development release 1)
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/configure.ac b/configure.ac
index 63d59f9..e804030 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.11.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2011-08-26"
+AC_INIT([xorg-server], 1.11.99.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2011-11-20"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 795fbe3e6e440f023e52c452106f4c266c13d36c
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Nov 20 13:33:12 2011 -0800

    Add 'optionstr.h' to include/Makefile.am
    
    This makes sure it gets distributed
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/include/Makefile.am b/include/Makefile.am
index 6f63c76..972f403 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -32,6 +32,7 @@ sdk_HEADERS =		\
 	misc.h		\
 	miscstruct.h	\
 	opaque.h	\
+	optionstr.h	\
 	os.h		\
 	pixmap.h	\
 	pixmapstr.h	\

commit 328074890eeb111950e984c6f618311983600b20
Author: dtakahashi42 <dtakahashi42@gmail.com>
Date:   Fri Nov 18 11:30:22 2011 -0800

    rootless: Fix a server crash when choosing a color with the gimp color wheel
    
    https://trac.macports.org/ticket/30927
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/miext/rootless/rootlessScreen.c b/miext/rootless/rootlessScreen.c
index 0801e72..c855706 100644
--- a/miext/rootless/rootlessScreen.c
+++ b/miext/rootless/rootlessScreen.c
@@ -247,8 +247,8 @@ RootlessComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
     WindowPtr srcWin, dstWin, maskWin = NULL;
 
     if (pMask) {                        // pMask can be NULL
-        maskWin = (pMask->pDrawable->type == DRAWABLE_WINDOW) ?
-                  (WindowPtr)pMask->pDrawable :  NULL;
+        maskWin = (pMask->pDrawable && pMask->pDrawable->type == DRAWABLE_WINDOW) ?
+                  (WindowPtr)pMask->pDrawable : NULL;
     }
     srcWin  = (pSrc->pDrawable && pSrc->pDrawable->type  == DRAWABLE_WINDOW) ?
               (WindowPtr)pSrc->pDrawable  :  NULL;

commit 58864146fbdf1820d04825838691e84784ef91bc
Author: Ross Burton <ross@linux.intel.com>
Date:   Wed Sep 28 11:46:02 2011 +0100

    edid: Add quirk for Acer Aspire One 110
    
    At least one revision of the AAO reports a 190x110mm maximum size but a
    451x113mm mode.
    
    X.Org Bug 41141 <https://bugs.freedesktop.org/show_bug.cgi?id=41141>
    
    Signed-off-by: Ross Burton <ross@linux.intel.com>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c
index 9ff2f0d..86065f8 100644
--- a/hw/xfree86/modes/xf86EdidModes.c
+++ b/hw/xfree86/modes/xf86EdidModes.c
@@ -165,6 +165,11 @@ static Bool quirk_detailed_use_maximum_size (int scrnIndex, xf86MonPtr DDC)
 	DDC->vendor.prod_id == 6400)
 	return TRUE;
 
+    /* Bug #41141: Acer Aspire One */
+    if (memcmp (DDC->vendor.name, "LGD", 4) == 0 &&
+	DDC->vendor.prod_id == 0x7f01)
+	return TRUE;
+
     return FALSE;
 }
 

commit 34b0e4eee911f8b09a3682a7f1b4c8598ef48b8d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 25 16:04:04 2011 +0100

    dri2: Register the DRI2DrawableType after server regeneration
    
    The Resource database is reset upon regeneration and so the dri2 module
    needs to re-register its RESTYPE for the drawable or else it will
    clobber the next unsuspecting user of the database. Fortunately, DRI2 is
    loaded late in the initialisation sequence and was last up until
    xf86-video-intel started using the Resource database to track
    outstanding swaps...
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
    Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>

diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index dd56f9c..0d613be 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -1235,14 +1235,24 @@ DRI2CloseScreen(ScreenPtr pScreen)
 }
 
 extern ExtensionModule dri2ExtensionModule;
+extern Bool DRI2ModuleSetup(void);
+
+/* Called by InitExtensions() */
+Bool
+DRI2ModuleSetup(void)
+{
+    dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone, "DRI2Drawable");
+    if (!dri2DrawableRes)
+	return FALSE;
+
+    return TRUE;
+}
 
 static pointer
 DRI2Setup(pointer module, pointer opts, int *errmaj, int *errmin)
 {
     static Bool setupDone = FALSE;
 
-    dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone, "DRI2Drawable");
-
     if (!setupDone)
     {
 	setupDone = TRUE;
diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
index 934abf6..e612cf0 100644
--- a/hw/xfree86/dri2/dri2ext.c
+++ b/hw/xfree86/dri2/dri2ext.c
@@ -50,6 +50,7 @@
 #include "xf86Module.h"
 
 static ExtensionEntry	*dri2Extension;
+extern Bool DRI2ModuleSetup(void);
 
 static Bool
 validDrawable(ClientPtr client, XID drawable, Mask access_mode,
@@ -634,6 +635,8 @@ DRI2ExtensionInit(void)
 				 StandardMinorOpcode);
 
     DRI2EventBase = dri2Extension->eventBase;
+
+    DRI2ModuleSetup();
 }
 
 extern Bool noDRI2Extension;

commit bfa1a0dd190ed88020d60eba3bb04681c8e83a68
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jan 24 11:17:03 2011 +0000

    DRI2: Avoid a NULL pointer dereference
    
    Bugzilla:  https://bugs.freedesktop.org/show_bug.cgi?id=41211
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index a97508d..dd56f9c 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -816,7 +816,8 @@ DRI2WaitSwap(ClientPtr client, DrawablePtr pDrawable)
     /* If we're currently waiting for a swap on this drawable, reset
      * the request and suspend the client.  We only support one
      * blocked client per drawable. */
-    if ((pPriv->swapsPending) &&
+    if (pPriv &&
+	pPriv->swapsPending &&
 	pPriv->blockedClient == NULL) {
 	ResetCurrentRequest(client);
 	client->sequence--;

commit eeb21a133b982f71de739baf62e53c8a68f5d495
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jan 24 11:17:03 2011 +0000

    VidMode: prevent crash with no modes
    
    Bugzilla:  https://bugs.freedesktop.org/show_bug.cgi?id=17431
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/hw/xfree86/common/xf86VidMode.c b/hw/xfree86/common/xf86VidMode.c
index 4dd454d..2ae5484 100644
--- a/hw/xfree86/common/xf86VidMode.c
+++ b/hw/xfree86/common/xf86VidMode.c
@@ -221,6 +221,9 @@ VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock)
 	return FALSE;
 
     pScrn = xf86Screens[scrnIndex];
+    if (pScrn->modes == NULL)
+	    return FALSE;
+
     pVidMode = VMPTR(pScrn->pScreen);
     pVidMode->First = pScrn->modes;
     pVidMode->Next =  pVidMode->First->next;

commit c1bb8f43b9290c2b18a9f0ac59773ff8f1eb974f
Author: Rami Ylimäki <rami.ylimaki@vincit.fi>
Date:   Tue Oct 4 12:25:26 2011 +0300

    record: Prevent out of bounds access when recording a reply.
    
    Any pad bytes in replies are written to the client from a zeroed
    array. However, record extension tries to incorrectly access the pad
    bytes from the end of reply data.
    
    Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
    Reviewed-by: Erkki Seppälä <erkki.seppala@vincit.fi>

diff --git a/include/os.h b/include/os.h
index b489211..823fe5d 100644
--- a/include/os.h
+++ b/include/os.h
@@ -451,9 +451,10 @@ extern _X_EXPORT CallbackListPtr ReplyCallback;
 typedef struct {
     ClientPtr client;
     const void *replyData;
-    unsigned long dataLenBytes;
+    unsigned long dataLenBytes; /* actual bytes from replyData + pad bytes */
     unsigned long bytesRemaining;
     Bool startOfReply;
+    unsigned long padBytes;     /* pad bytes from zeroed array */
 } ReplyInfoRec;
 
 /* stuff for FlushCallback */
diff --git a/os/io.c b/os/io.c
index 068f5f0..955bf8b 100644
--- a/os/io.c
+++ b/os/io.c
@@ -809,6 +809,7 @@ WriteToClient (ClientPtr who, int count, const void *__buf)
 	replyinfo.client = who;
 	replyinfo.replyData = buf;
 	replyinfo.dataLenBytes = count + padBytes;
+	replyinfo.padBytes = padBytes;
 	if (who->replyBytesRemaining)
 	{ /* still sending data of an earlier reply */
 	    who->replyBytesRemaining -= count + padBytes;
diff --git a/record/record.c b/record/record.c
index 68311ac..db77b64 100644
--- a/record/record.c
+++ b/record/record.c
@@ -269,8 +269,9 @@ RecordFlushReplyBuffer(
  *	  device events and EndOfData, pClient is NULL.
  *	category is the category of the protocol element, as defined
  *	  by the RECORD spec.
- *	data is a pointer to the protocol data, and datalen is its length
- *	  in bytes.
+ *	data is a pointer to the protocol data, and datalen - padlen
+ *	  is its length in bytes.
+ *	padlen is the number of pad bytes from a zeroed array.
  *	futurelen is the number of bytes that will be sent in subsequent
  *	  calls to this function to complete this protocol element.  
  *	  In those subsequent calls, futurelen will be -1 to indicate
@@ -290,7 +291,7 @@ RecordFlushReplyBuffer(
  */
 static void
 RecordAProtocolElement(RecordContextPtr pContext, ClientPtr pClient,
-		       int category, pointer data, int datalen, int futurelen)
+		       int category, pointer data, int datalen, int padlen, int futurelen)
 {
     CARD32 elemHeaderData[2];
     int numElemHeaders = 0;
@@ -398,15 +399,20 @@ RecordAProtocolElement(RecordContextPtr pContext, ClientPtr pClient,
 	}
 	if (datalen)
 	{
+	    static char padBuffer[3]; /* as in FlushClient */
 	    memcpy(pContext->replyBuffer + pContext->numBufBytes,
-		   data, datalen);
-	    pContext->numBufBytes += datalen;
+		   data, datalen - padlen);
+	    pContext->numBufBytes += datalen - padlen;
+	    memcpy(pContext->replyBuffer + pContext->numBufBytes,
+		   padBuffer, padlen);
+	    pContext->numBufBytes += padlen;
 	}
     }
     else
+    {
 	RecordFlushReplyBuffer(pContext, (pointer)elemHeaderData,
-			       numElemHeaders, (pointer)data, datalen);
-
+			       numElemHeaders, (pointer)data, datalen - padlen);
+    }
 } /* RecordAProtocolElement */
 
 
@@ -483,19 +489,19 @@ RecordABigRequest(RecordContextPtr pContext, ClientPtr client, xReq *stuff)
     /* record the request header */
     bytesLeft = client->req_len << 2;
     RecordAProtocolElement(pContext, client, XRecordFromClient,
-			   (pointer)stuff, SIZEOF(xReq), bytesLeft);
+			   (pointer)stuff, SIZEOF(xReq), 0, bytesLeft);
 
     /* reinsert the extended length field that was squished out */
     bigLength = client->req_len + bytes_to_int32(sizeof(bigLength));
     if (client->swapped)
 	swapl(&bigLength);
     RecordAProtocolElement(pContext, client, XRecordFromClient,
-		(pointer)&bigLength, sizeof(bigLength), /* continuation */ -1);
+               (pointer)&bigLength, sizeof(bigLength), 0, /* continuation */ -1);
     bytesLeft -= sizeof(bigLength);
 
     /* record the rest of the request after the length */
     RecordAProtocolElement(pContext, client, XRecordFromClient,
-		(pointer)(stuff + 1), bytesLeft, /* continuation */ -1);
+               (pointer)(stuff + 1), bytesLeft, 0, /* continuation */ -1);
 } /* RecordABigRequest */
 
 
@@ -542,7 +548,7 @@ RecordARequest(ClientPtr client)
 		    RecordABigRequest(pContext, client, stuff);
 		else
 		    RecordAProtocolElement(pContext, client, XRecordFromClient,
-				(pointer)stuff, client->req_len << 2, 0);
+				(pointer)stuff, client->req_len << 2, 0, 0);
 	    }
 	    else /* extension, check minor opcode */
 	    {
@@ -566,7 +572,7 @@ RecordARequest(ClientPtr client)
 			else
 			    RecordAProtocolElement(pContext, client, 
 					XRecordFromClient, (pointer)stuff,
-					client->req_len << 2, 0);
+					client->req_len << 2, 0, 0);
 			break;
 		    }			    
 		} /* end for each minor op info */
@@ -619,7 +625,8 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
 	    if (pContext->continuedReply)
 	    {
 		RecordAProtocolElement(pContext, client, XRecordFromServer,
-		   (pointer)pri->replyData, pri->dataLenBytes, /* continuation */ -1);
+		   (pointer)pri->replyData, pri->dataLenBytes,
+			    pri->padBytes, /* continuation */ -1);
 		if (!pri->bytesRemaining)
 		    pContext->continuedReply = 0;
 	    }
@@ -629,7 +636,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
 		if (majorop <= 127)
 		{ /* core reply */
 		    RecordAProtocolElement(pContext, client, XRecordFromServer,
-		       (pointer)pri->replyData, pri->dataLenBytes, pri->bytesRemaining);
+		       (pointer)pri->replyData, pri->dataLenBytes, 0, pri->bytesRemaining);
 		    if (pri->bytesRemaining)
 			pContext->continuedReply = 1;
 		}
@@ -651,7 +658,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata)
 			{
 			    RecordAProtocolElement(pContext, client, 
 				XRecordFromServer, (pointer)pri->replyData,
-				pri->dataLenBytes, pri->bytesRemaining);
+				pri->dataLenBytes, 0, pri->bytesRemaining);
 			    if (pri->bytesRemaining)
 				pContext->continuedReply = 1;
 			    break;
@@ -723,7 +730,7 @@ RecordADeliveredEventOrError(CallbackListPtr *pcbl, pointer nulldata, pointer ca
 			
 		    }
 		    RecordAProtocolElement(pContext, pClient,
-			XRecordFromServer, pEvToRecord, SIZEOF(xEvent), 0);
+			XRecordFromServer, pEvToRecord, SIZEOF(xEvent), 0, 0);
 		}
 	    } /* end for each event */
 	} /* end this client is on this context */
@@ -774,7 +781,7 @@ RecordSendProtocolEvents(RecordClientsAndProtocolPtr pRCAP,
 	    }
 
 	    RecordAProtocolElement(pContext, NULL,
-		    XRecordFromServer,  pEvToRecord, SIZEOF(xEvent), 0);
+		    XRecordFromServer,  pEvToRecord, SIZEOF(xEvent), 0, 0);
 	    /* make sure device events get flushed in the absence
 	     * of other client activity
 	     */
@@ -2415,7 +2422,7 @@ ProcRecordEnableContext(ClientPtr client)
     assert(numEnabledContexts > 0);
 
     /* send StartOfData */
-    RecordAProtocolElement(pContext, NULL, XRecordStartOfData, NULL, 0, 0);
+    RecordAProtocolElement(pContext, NULL, XRecordStartOfData, NULL, 0, 0, 0);
     RecordFlushReplyBuffer(pContext, NULL, 0, NULL, 0);
     return Success;
 } /* ProcRecordEnableContext */
@@ -2446,7 +2453,7 @@ RecordDisableContext(RecordContextPtr pContext)
     if (!pContext->pRecordingClient) return;
     if (!pContext->pRecordingClient->clientGone)
     {
-	RecordAProtocolElement(pContext, NULL, XRecordEndOfData, NULL, 0, 0);
+	RecordAProtocolElement(pContext, NULL, XRecordEndOfData, NULL, 0, 0, 0);
 	RecordFlushReplyBuffer(pContext, NULL, 0, NULL, 0);
 	/* Re-enable request processing on this connection. */
 	AttendClient(pContext->pRecordingClient);
@@ -2761,7 +2768,7 @@ RecordConnectionSetupInfo(RecordContextPtr pContext, NewClientInfoRec *pci)
 	SwapConnSetupPrefix(pci->prefix, (xConnSetupPrefix*)pConnSetup);
 	SwapConnSetupInfo((char*)pci->setup, (char*)(pConnSetup + prefixsize));
 	RecordAProtocolElement(pContext, pci->client, XRecordClientStarted,
-			       (pointer)pConnSetup, prefixsize + restsize, 0);
+			       (pointer)pConnSetup, prefixsize + restsize, 0, 0);
 	free(pConnSetup);
     }
     else
@@ -2770,9 +2777,9 @@ RecordConnectionSetupInfo(RecordContextPtr pContext, NewClientInfoRec *pci)
 	 * data in two pieces
 	 */
 	RecordAProtocolElement(pContext, pci->client, XRecordClientStarted,
-			(pointer)pci->prefix, prefixsize, restsize);
+			(pointer)pci->prefix, prefixsize, 0, restsize);
 	RecordAProtocolElement(pContext, pci->client, XRecordClientStarted,
-			(pointer)pci->setup, restsize, /* continuation */ -1);
+			(pointer)pci->setup, restsize, 0, /* continuation */ -1);
     }
 } /* RecordConnectionSetupInfo */
 
@@ -2849,7 +2856,7 @@ RecordAClientStateChange(CallbackListPtr *pcbl, pointer nulldata, pointer callda
 	    {
 		if (pContext->pRecordingClient && pRCAP->clientDied)
 		    RecordAProtocolElement(pContext, pClient,
-					   XRecordClientDied, NULL, 0, 0);
+					   XRecordClientDied, NULL, 0, 0, 0);
 		RecordDeleteClientFromRCAP(pRCAP, pos);
 	    }
 	}

commit 1f5baa924a5907978f564372265d9830ac72a077
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Sun Oct 30 20:26:42 2011 -0700

    xfree86: Deprecate the use of xf86PciInfo.h
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    Reviewed-by: Tormod Volden <debian.tormod@gmail.com>

diff --git a/hw/xfree86/common/xf86PciInfo.h b/hw/xfree86/common/xf86PciInfo.h
index 356c7db..e2d7862 100644
--- a/hw/xfree86/common/xf86PciInfo.h
+++ b/hw/xfree86/common/xf86PciInfo.h
@@ -47,6 +47,8 @@
 #ifndef _XF86_PCIINFO_H
 #define _XF86_PCIINFO_H
 
+#warning "xf86PciInfo.h is deprecated.  For greater compatibility, drivers should include necessary PCI IDs locally rather than relying on this file from xorg-server."
+
 /* PCI Pseudo Vendor */
 #define PCI_VENDOR_GENERIC		0x00FF
 
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index bc09bd2..87dc025 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -49,6 +49,7 @@
 #define XF86_OS_PRIVS
 #include "xf86_OSproc.h"
 
+#define PCI_VENDOR_GENERIC		0x00FF
 
 /* Bus-specific globals */
 Bool pciSlotClaimed = FALSE;
diff --git a/hw/xfree86/doc/ddxDesign.xml b/hw/xfree86/doc/ddxDesign.xml
index 0d5e952..c406cd7 100644
--- a/hw/xfree86/doc/ddxDesign.xml
+++ b/hw/xfree86/doc/ddxDesign.xml
@@ -3553,13 +3553,6 @@ The following include files are typically required by video drivers:
 	  </para>
 
 	  <para>
-  Drivers that need to access PCI vendor/device definitions need this:
-	    <literallayout><filename>
-    "xf86PciInfo.h"
-	      </filename></literallayout>
-	  </para>
-
-	  <para>
   Drivers that need to access the PCI config space need this:
 	    <literallayout><filename>
     "xf86Pci.h"
diff --git a/hw/xfree86/fbdevhw/fbdevhw.c b/hw/xfree86/fbdevhw/fbdevhw.c
index dee731b..30a2a91 100644
--- a/hw/xfree86/fbdevhw/fbdevhw.c
+++ b/hw/xfree86/fbdevhw/fbdevhw.c
@@ -9,7 +9,6 @@
 #include "xf86_OSproc.h"
 
 /* pci stuff */
-#include "xf86PciInfo.h"
 #include "xf86Pci.h"
 
 #include "xf86cmap.h"
diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 88560ec..5709bd8 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -108,7 +108,6 @@
 #define _PCI_H 1
 
 #include "xf86Pci.h"
-#include "xf86PciInfo.h"
 
 /*
  * Global Definitions
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index b8e7023..4a4e1f6 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -121,7 +121,6 @@ cat > sdksyms.c << EOF
 #include "xf86Module.h"
 #include "xf86Opt.h"
 #ifdef XSERVER_LIBPCIACCESS
- #include "xf86PciInfo.h"
  #include "xf86VGAarbiter.h"
 #endif
 #include "xf86Priv.h"

commit eb3377ffb8a7baa26c9831e56ed782d48b28fa71
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Tue Nov 1 14:59:15 2011 -0700

    xfree86: Fix powerpc build with -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
    
    memType is a uint64_t on powerpc. Using memType only really makes
    sense for *physical* addresses, which can be 64-bit for 32-bit
    systems running on 64-bit hardware.
    
    However, unmapVidMem() only deals with *virtual* addresses, which
    are guaranteed to fit into an uintptr_t.
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    Reviewed-by: Mark Kettenis <kettenis@openbsd.org>

diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
index e711784..0d91f7a 100644
--- a/hw/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -465,11 +465,11 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
 static void
 unmapVidMem(int ScreenNum, pointer Base, unsigned long Size)
 {
-    memType alignOff = (memType)Base 
-	- ((memType)Base & ~(getpagesize() - 1));
+    uintptr_t alignOff = (uintptr_t)Base
+	- ((uintptr_t)Base & ~(getpagesize() - 1));
 
-    DebugF("alignment offset: %lx\n",alignOff);
-    munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff));
+    DebugF("alignment offset: %lx\n", (unsigned long)alignOff);
+    munmap((void *)((uintptr_t)Base - alignOff), (Size + alignOff));
 }
 
 

commit a551f126cc4af7a476d9c8fd0cb309d5aa600d54
Author: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
Date:   Fri Nov 4 23:26:25 2011 -0700

    xfree86: Fix RandR rotation across server generations
    
    245cb8e94fd1599 fixed xf86RotateDestroy() to actually run its teardown
    code, causing the Damage object to properly be re-allocated after a
    server regeneration. However the block that does that still thinks the
    Rotate layer BlockHandler is wrapped from the last generation, meaning
    the shadow pixmap is never re-allocated and the Damage object is never
    re-registered, causing a blank screen, and potentially a driver crash
    on the next teardown after the server asks it to free a 0x0 Pixmap.
    
    Signed-off-by: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index aac33d3..9532151 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -807,6 +807,9 @@ xf86CrtcScreenInit (ScreenPtr screen)
 
     config->CloseScreen = screen->CloseScreen;
     screen->CloseScreen = xf86CrtcCloseScreen;
+
+    /* This might still be marked wrapped from a previous generation */
+    config->BlockHandler = NULL;
     
 #ifdef XFreeXDGA
     _xf86_di_dga_init_internal(screen);

commit e7cb8f802adf6fc22e7a930c0dfc5c1076781c96
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 9 15:31:57 2011 +1000

    Xext: remove unused variable 'n'
    
    xselinux_ext.c: In function 'SELinuxSendItemsToClient':
    xselinux_ext.c:340:16: warning: unused variable 'n' [-Wunused-variable]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Julien Cristau <jcristau@debian.org>

diff --git a/Xext/xselinux_ext.c b/Xext/xselinux_ext.c
index 641368a..a18a367 100644
--- a/Xext/xselinux_ext.c
+++ b/Xext/xselinux_ext.c
@@ -337,7 +337,7 @@ static int
 SELinuxSendItemsToClient(ClientPtr client, SELinuxListItemRec *items,
 			 int size, int count)
 {
-    int rc, k, n, pos = 0;
+    int rc, k, pos = 0;
     SELinuxListItemsReply rep;
     CARD32 *buf;
 

commit bb4aa1f263ad38c175bfda3b7e6c325260ce3f28
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 9 15:31:10 2011 +1000

    Xext: don't swap CARD8 in SProcSELinuxQueryVersion
    
    xselinux_ext.c: In function 'SELinuxSendItemsToClient':
    xselinux_ext.c:340:16: warning: unused variable 'n' [-Wunused-variable]
    xselinux_ext.c: In function 'SProcSELinuxQueryVersion':
    xselinux_ext.c:532:62: error: call to 'wrong_size' declared with attribute
    error: wrong sized variable passed to swap
    xselinux_ext.c:533:62: error: call to 'wrong_size' declared with attribute
    error: wrong sized variable passed to swap
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>


Reply to: