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

xorg-server: Changes to 'upstream-unstable'



 Makefile.am                                |    7 
 Xext/panoramiX.c                           |    2 
 Xext/sync.c                                |   26 
 Xext/xf86bigfont.c                         |    2 
 Xi/extinit.c                               |   38 -
 Xi/xiproperty.c                            |  251 +++----
 config/wscons.c                            |    6 
 configure.ac                               |    4 
 dix/devices.c                              |    2 
 dix/events.c                               |   27 
 dix/gc.c                                   |   10 
 dix/getevents.c                            |    2 
 dix/tables.c                               |  955 +++++++++++++++++------------
 dix/touch.c                                |    4 
 fb/fbseg.c                                 |   18 
 glx/glxcmds.c                              |    4 
 glx/glxdri2.c                              |    8 
 hw/kdrive/ephyr/ephyr.c                    |   80 +-
 hw/kdrive/ephyr/hostx.c                    |   36 -
 hw/kdrive/ephyr/hostx.h                    |   10 
 hw/kdrive/src/kdrive.c                     |   20 
 hw/kdrive/src/kinput.c                     |    2 
 hw/xfree86/Makefile.am                     |    2 
 hw/xfree86/common/xf86Module.h             |    2 
 hw/xfree86/dixmods/extmod/modinit.h        |    2 
 hw/xfree86/dixmods/extmod/xf86dga2.c       |   81 +-
 hw/xfree86/dixmods/extmod/xf86vmode.c      |   14 
 hw/xfree86/dri2/dri2.c                     |   15 
 hw/xfree86/dri2/dri2.h                     |    7 
 hw/xfree86/loader/loader.c                 |   19 
 hw/xfree86/loader/loader.h                 |    1 
 hw/xfree86/loader/loadmod.c                |    2 
 hw/xfree86/modes/xf86Crtc.c                |    8 
 hw/xfree86/modes/xf86DisplayIDModes.c      |  171 ++---
 hw/xfree86/modes/xf86EdidModes.c           |  122 +--
 hw/xfree86/os-support/bsd/bsd_apm.c        |   26 
 hw/xfree86/os-support/bsd/bsd_kqueue_apm.c |   26 
 hw/xfree86/os-support/bus/Sbus.c           |   20 
 hw/xfree86/os-support/linux/lnx_apm.c      |   31 
 hw/xfree86/os-support/solaris/sun_apm.c    |   26 
 hw/xfree86/parser/Device.c                 |    2 
 hw/xfree86/parser/Files.c                  |    2 
 hw/xfree86/parser/Flags.c                  |    2 
 hw/xfree86/parser/Input.c                  |    2 
 hw/xfree86/parser/InputClass.c             |    2 
 hw/xfree86/parser/Layout.c                 |    2 
 hw/xfree86/parser/Module.c                 |    2 
 hw/xfree86/parser/Monitor.c                |    2 
 hw/xfree86/parser/Pointer.c                |    2 
 hw/xfree86/parser/Screen.c                 |    2 
 hw/xfree86/parser/Vendor.c                 |    2 
 hw/xfree86/parser/Video.c                  |    2 
 hw/xfree86/parser/read.c                   |    2 
 hw/xfree86/parser/scan.c                   |    2 
 hw/xfree86/parser/write.c                  |    2 
 hw/xfree86/ramdac/xf86Cursor.c             |   31 
 hw/xquartz/console_redirect.c              |   28 
 hw/xquartz/pseudoramiX.c                   |   21 
 hw/xquartz/pseudoramiX.h                   |    2 
 hw/xquartz/xpr/xprEvent.c                  |   22 
 include/list.h                             |    2 
 mi/miexpose.c                              |    2 
 os/connection.c                            |    2 
 os/io.c                                    |    6 
 os/utils.c                                 |    4 
 randr/randr.c                              |    3 
 randr/rrcrtc.c                             |   12 
 randr/rrinfo.c                             |    7 
 randr/rrmode.c                             |    4 
 randr/rroutput.c                           |   12 
 randr/rrscreen.c                           |    6 
 render/filter.c                            |    5 
 render/render.c                            |    4 
 test/xtest.c                               |    2 
 xfixes/cursor.c                            |    7 
 xfixes/region.c                            |    3 
 xkb/xkbAccessX.c                           |   10 
 77 files changed, 1297 insertions(+), 1017 deletions(-)

New commits:
commit a6d7400507f220d6f98b853def7904586fb1eadd
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Sun Aug 19 09:07:33 2012 -0700

    configure.ac: Version bump to 1.12.3.902 (1.12.4 RC2)
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>

diff --git a/configure.ac b/configure.ac
index aece819..28c9cf8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.12.3.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2012-08-03"
+AC_INIT([xorg-server], 1.12.3.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2012-08-19"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 0754f74a538ca59e45a39fefa2d90b9d3bc822dd
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Thu Aug 16 19:42:54 2012 -0700

    XQuartz: console_redirect: Properly zero-out the tail of the array on realloc()
    
    We forgot to multiply by sizeof(), so it wasn't fully zeroed out.
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    (cherry picked from commit 7c3d2e4828deb4e8ec38e8ef88d6f92b2d931033)

diff --git a/hw/xquartz/console_redirect.c b/hw/xquartz/console_redirect.c
index 30e397a..8fdce46 100644
--- a/hw/xquartz/console_redirect.c
+++ b/hw/xquartz/console_redirect.c
@@ -365,8 +365,8 @@ xq_asl_log_fd(aslclient asl, aslmsg msg, int level, int fd)
                               BLOCK_DONE;
                           }
                           redirect_fds = new_array;
-                          memset(redirect_fds + n_redirect_fds, 0, new_n -
-                                 n_redirect_fds);
+                          memset(redirect_fds + n_redirect_fds, 0, (new_n -
+                                 n_redirect_fds) * sizeof(*redirect_fds));
                           n_redirect_fds = new_n;
                       }
 

commit 2141f21d51b0787c8d287bb50d01a6a81e61a634
Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date:   Thu Aug 16 15:43:34 2012 -0700

    XQuartz: console_redirect: Set the correct location for reading into the buffer
    
    Prior to this change, it was possible that a large message would have some
    of its data prepended to subsequent messages due to our not incorrectly
    setting the location to write into the buffer.
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    (cherry picked from commit a32e01802ff1c938c0afe0cc007a273b9ada8610)

diff --git a/hw/xquartz/console_redirect.c b/hw/xquartz/console_redirect.c
index 91d693b..30e397a 100644
--- a/hw/xquartz/console_redirect.c
+++ b/hw/xquartz/console_redirect.c
@@ -110,27 +110,33 @@ _read_redirect(int fd, int flush)
         /* Increment our returned number read */
         total_read += nbytes;
 
-        nbytes += (aslr->w - aslr->buf);
-        aslr->buf[nbytes] = '\0';
+        /* Increment our write location */
+        aslr->w += nbytes;
+        aslr->w[0] = '\0';
 
         /* One line at a time */
-        for (p = aslr->buf; *p && (p - aslr->buf) < nbytes; p = s + 1) {
+        for (p = aslr->buf; p < aslr->w; p = s + 1) {
             // Find null or \n
             for (s = p; *s && *s != '\n'; s++) ;
             if (*s == '\n') {
                 *s = '\0';
+            }
+
+            if (s < aslr->w || aslr->buf == p) {
+                /* Either the first of multiple messages or one message which is larger than our buffer */
                 asl_log(aslr->asl, aslr->msg, aslr->level, "%s", p);
             }
-            else if (aslr->buf != p) {
+            else {
+                /* We reached the end of the buffer, move this chunk to the start. */
                 memmove(aslr->buf, p, BUF_SIZE - (p - aslr->buf));
                 aslr->w = aslr->buf + (s - p);
                 break;
             }
-            else if (nbytes == BUF_SIZE - 1) {
-                asl_log(aslr->asl, aslr->msg, aslr->level, "%s", p);
-                aslr->w = aslr->buf;
-                break;
-            }
+        }
+
+        if (p == aslr->w) {
+            /* Start writing at the beginning in the case where we flushed */
+            aslr->w = aslr->buf;
         }
     }
 

commit 73d62f1aaea4a862cc512048cb6ca59586f4cdb6
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Aug 7 17:49:46 2012 -0700

    Only free Render filter names on last screen close
    
    Hotplugging screens causes the render filter names to get freed while
    still in use; wait for the last core screen to be closed before
    freeing them. That only happens at server reset, when we want them to
    be freed.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    (cherry picked from commit 19772670e3041fe1c7f5bbf32fa039a6d8245ccb)

diff --git a/render/filter.c b/render/filter.c
index 8c401ee..019ea7f 100644
--- a/render/filter.c
+++ b/render/filter.c
@@ -273,7 +273,10 @@ PictureResetFilters(ScreenPtr pScreen)
 
     free(ps->filters);
     free(ps->filterAliases);
-    PictureFreeFilterIds();
+
+    /* Free the filters when the last screen is closed */
+    if (pScreen->myNum == 0)
+        PictureFreeFilterIds();
 }
 
 int

commit 3e62f48edf47a59d923ac58b6d4262b02456a556
Author: Simon Schubert <2@0x2c.org>
Date:   Sun Aug 12 09:40:16 2012 -0700

    fb: reorder Bresenham error correction to avoid overshoot.
    
    When fbBresSolid draws a line, it can happen that after the last
    pixel, the Bresenham error term overflows, and fbBresSolid paints
    another pixel before adjusting the error term.
    
    However, if this happens on the last pixel (len=0), this extra pixel
    might overshoot the boundary, and, in rare cases, lead to a segfault.
    
    Fix this issue by adjusting for the Bresenham error term before
    drawing the main pixel, not after.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24274
    Signed-off-by: Simon Schubert <2@0x2c.or>
    Tested-by: Mitch Davis <mjd+freedesktop.org@afork.com>
    Signed-off-by: Matt Turner <mattst88@gmail.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 863d528a9f76d0e8f122aebf19f8564a4c67a938)

diff --git a/fb/fbseg.c b/fb/fbseg.c
index 0e4e0a9..1848387 100644
--- a/fb/fbseg.c
+++ b/fb/fbseg.c
@@ -65,6 +65,12 @@ fbBresSolid(DrawablePtr pDrawable,
     if (axis == X_AXIS) {
         bits = 0;
         while (len--) {
+            if (e >= 0) {
+                WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
+                bits = 0;
+                dst += dstStride;
+                e += e3;
+            }
             bits |= mask;
             mask = fbBresShiftMask(mask, signdx, dstBpp);
             if (!mask) {
@@ -74,21 +80,12 @@ fbBresSolid(DrawablePtr pDrawable,
                 mask = mask0;
             }
             e += e1;
-            if (e >= 0) {
-                WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
-                bits = 0;
-                dst += dstStride;
-                e += e3;
-            }
         }
         if (bits)
             WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
     }
     else {
         while (len--) {
-            WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
-            dst += dstStride;
-            e += e1;
             if (e >= 0) {
                 e += e3;
                 mask = fbBresShiftMask(mask, signdx, dstBpp);
@@ -97,6 +94,9 @@ fbBresSolid(DrawablePtr pDrawable,
                     mask = mask0;
                 }
             }
+            WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
+            dst += dstStride;
+            e += e1;
         }
     }
 

commit f0823a057e4c80dbb18c16f066ad36e6459fcc85
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 31 16:09:38 2012 +1000

    dix: make sure the mask is set for emulated scroll events (#52508)
    
    If a device has smooth scrolling axes, but submits scroll button events, we
    convert those to motion events and update the valuators. For legacy button
    events, the valuator mask is likely unset though, causing
    add_to_scroll_valuator() to return early, leaving us with an empty mask.
    That again skipped the rest of the code and no events were generated.
    
    Fix it by making sure that the scroll valuator in the mask is at least
    initialized to 0.
    
    Broke evdev wheel emulation, introduced by
    54476b5e4461ff523e935961affabcf0de12c556.
    
    X.Org Bug 52508 <http://bugs.freedesktop.org/show_bug.cgi?id=52508>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
    (cherry picked from commit cb306a8f174bec9ded95191b91797f59250e6808)

diff --git a/dix/getevents.c b/dix/getevents.c
index b78d5ce..fade40c 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1601,6 +1601,8 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
 
         if (adj != 0.0 && axis != -1) {
             adj *= pDev->valuator->axes[axis].scroll.increment;
+            if (!valuator_mask_isset(&mask, axis))
+                valuator_mask_set(&mask, axis, 0);
             add_to_scroll_valuator(pDev, &mask, axis, adj);
             type = MotionNotify;
             buttons = 0;

commit 1f8a958a12c1c7c684051e5679420fe3a02ce307
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Jul 23 16:34:28 2012 -0400

    sync: Fix logic error from b55bf248581dc66321b24b29f199f6dc8d02db1b
    
    That commit adds two hunks, and I _think_ they're backwards.  It adds
    code to modify bracket_greater on NegativeTransition triggers, and
    bracket_less on PositiveTransition triggers.  That breaks symmetry with
    the surrounding code; the code as of this commit could probably be
    simplified further.
    
    I can't keep the sync trigger rules in my head for more than about five
    minutes at a time, so I'm sending this on for more eyes.  RHEL 6.3's
    xserver is shipping with b55bf248 reverted:
    
        https://bugzilla.redhat.com/show_bug.cgi?id=748704#c33
    
    And there appear to be some upstream reports of the same issue:
    
        https://bugzilla.gnome.org/show_bug.cgi?id=658955
    
    So I'd like to get this sorted out.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 4a6f42dda00ba3b5616f8a86f0d4c9a652c7d9d4)

diff --git a/Xext/sync.c b/Xext/sync.c
index 532cb64..c9162ee 100644
--- a/Xext/sync.c
+++ b/Xext/sync.c
@@ -1033,15 +1033,15 @@ SyncComputeBracketValues(SyncCounter * pCounter)
                 pnewltval = &psci->bracket_less;
             }
             else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) &&
-                     XSyncValueLessThan(pTrigger->test_value,
-                                        psci->bracket_greater)) {
+                     XSyncValueGreaterThan(pTrigger->test_value,
+                                           psci->bracket_less)) {
                 /*
                  * The value is exactly equal to our threshold.  We want one
-                 * more event in the positive direction to ensure we pick up
-                 * when the value *exceeds* this threshold.
+                 * more event in the negative direction to ensure we pick up
+                 * when the value is less than this threshold.
                  */
-                psci->bracket_greater = pTrigger->test_value;
-                pnewgtval = &psci->bracket_greater;
+                psci->bracket_less = pTrigger->test_value;
+                pnewltval = &psci->bracket_less;
             }
         }
         else if (pTrigger->test_type == XSyncPositiveTransition &&
@@ -1053,15 +1053,15 @@ SyncComputeBracketValues(SyncCounter * pCounter)
                 pnewgtval = &psci->bracket_greater;
             }
             else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) &&
-                     XSyncValueGreaterThan(pTrigger->test_value,
-                                           psci->bracket_less)) {
+                     XSyncValueLessThan(pTrigger->test_value,
+                                        psci->bracket_greater)) {
                 /*
                  * The value is exactly equal to our threshold.  We want one
-                 * more event in the negative direction to ensure we pick up
-                 * when the value is less than this threshold.
+                 * more event in the positive direction to ensure we pick up
+                 * when the value *exceeds* this threshold.
                  */
-                psci->bracket_less = pTrigger->test_value;
-                pnewltval = &psci->bracket_less;
+                psci->bracket_greater = pTrigger->test_value;
+                pnewgtval = &psci->bracket_greater;
             }
         }
     }                           /* end for each trigger */

commit 83cba78a0c858df4d5405783f3a1fb4bab128129
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Jul 16 21:12:06 2012 -0700

    Make indentation of dix/tables.c much more consistent and readable
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Acked-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit c37c65052f674cd58894ad0b9ec22928a62c624e)

diff --git a/dix/tables.c b/dix/tables.c
index 705ef0d..686cddd 100644
--- a/dix/tables.c
+++ b/dix/tables.c
@@ -58,364 +58,529 @@ SOFTWARE.
 #include "swaprep.h"
 #include "swapreq.h"
 
-int (*InitialVector[3]) (ClientPtr      /* client */
-    ) = {
-0, ProcInitialConnection, ProcEstablishConnection};
+int (*InitialVector[3]) (ClientPtr /* client */) = {
+    0,
+    ProcInitialConnection,
+    ProcEstablishConnection
+};
 
-int (*ProcVector[256]) (ClientPtr       /* client */
-    ) = {
-    ProcBadRequest, ProcCreateWindow, ProcChangeWindowAttributes, ProcGetWindowAttributes, ProcDestroyWindow, ProcDestroySubwindows,    /* 5 */
-        ProcChangeSaveSet, ProcReparentWindow, ProcMapWindow, ProcMapSubwindows, ProcUnmapWindow,       /* 10 */
-        ProcUnmapSubwindows, ProcConfigureWindow, ProcCirculateWindow, ProcGetGeometry, ProcQueryTree,  /* 15 */
-        ProcInternAtom, ProcGetAtomName, ProcChangeProperty, ProcDeleteProperty, ProcGetProperty,       /* 20 */
-        ProcListProperties, ProcSetSelectionOwner, ProcGetSelectionOwner, ProcConvertSelection, ProcSendEvent,  /* 25 */
-        ProcGrabPointer, ProcUngrabPointer, ProcGrabButton, ProcUngrabButton, ProcChangeActivePointerGrab,      /* 30 */
-        ProcGrabKeyboard, ProcUngrabKeyboard, ProcGrabKey, ProcUngrabKey, ProcAllowEvents,      /* 35 */
-        ProcGrabServer, ProcUngrabServer, ProcQueryPointer, ProcGetMotionEvents, ProcTranslateCoords,   /* 40 */
-        ProcWarpPointer, ProcSetInputFocus, ProcGetInputFocus, ProcQueryKeymap, ProcOpenFont,   /* 45 */
-        ProcCloseFont, ProcQueryFont, ProcQueryTextExtents, ProcListFonts, ProcListFontsWithInfo,       /* 50 */
-        ProcSetFontPath, ProcGetFontPath, ProcCreatePixmap, ProcFreePixmap, ProcCreateGC,       /* 55 */
-        ProcChangeGC, ProcCopyGC, ProcSetDashes, ProcSetClipRectangles, ProcFreeGC,     /* 60 */
-        ProcClearToBackground, ProcCopyArea, ProcCopyPlane, ProcPolyPoint, ProcPolyLine,        /* 65 */
-        ProcPolySegment, ProcPolyRectangle, ProcPolyArc, ProcFillPoly, ProcPolyFillRectangle,   /* 70 */
-        ProcPolyFillArc, ProcPutImage, ProcGetImage, ProcPolyText, ProcPolyText,        /* 75 */
-        ProcImageText8, ProcImageText16, ProcCreateColormap, ProcFreeColormap, ProcCopyColormapAndFree, /* 80 */
-        ProcInstallColormap, ProcUninstallColormap, ProcListInstalledColormaps, ProcAllocColor, ProcAllocNamedColor,    /* 85 */
-        ProcAllocColorCells, ProcAllocColorPlanes, ProcFreeColors, ProcStoreColors, ProcStoreNamedColor,        /* 90 */
-        ProcQueryColors, ProcLookupColor, ProcCreateCursor, ProcCreateGlyphCursor, ProcFreeCursor,      /* 95 */
-        ProcRecolorCursor, ProcQueryBestSize, ProcQueryExtension, ProcListExtensions, ProcChangeKeyboardMapping,        /* 100 */
-        ProcGetKeyboardMapping, ProcChangeKeyboardControl, ProcGetKeyboardControl, ProcBell, ProcChangePointerControl,  /* 105 */
-        ProcGetPointerControl, ProcSetScreenSaver, ProcGetScreenSaver, ProcChangeHosts, ProcListHosts,  /* 110 */
-        ProcChangeAccessControl, ProcChangeCloseDownMode, ProcKillClient, ProcRotateProperties, ProcForceScreenSaver,   /* 115 */
-        ProcSetPointerMapping, ProcGetPointerMapping, ProcSetModifierMapping, ProcGetModifierMapping, ProcBadRequest,   /* 120 */
-        ProcBadRequest, ProcBadRequest, ProcBadRequest, ProcBadRequest, ProcBadRequest, /* 125 */
-ProcBadRequest,
-        ProcNoOperation,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest, ProcBadRequest, ProcBadRequest, ProcBadRequest};
+int (*ProcVector[256]) (ClientPtr /* client */) = {
+    ProcBadRequest,
+    ProcCreateWindow,
+    ProcChangeWindowAttributes,
+    ProcGetWindowAttributes,
+    ProcDestroyWindow,
+    ProcDestroySubwindows,              /* 5 */
+    ProcChangeSaveSet,
+    ProcReparentWindow,
+    ProcMapWindow,
+    ProcMapSubwindows,
+    ProcUnmapWindow,                    /* 10 */
+    ProcUnmapSubwindows,
+    ProcConfigureWindow,
+    ProcCirculateWindow,
+    ProcGetGeometry,
+    ProcQueryTree,                      /* 15 */
+    ProcInternAtom,
+    ProcGetAtomName,
+    ProcChangeProperty,
+    ProcDeleteProperty,
+    ProcGetProperty,                    /* 20 */
+    ProcListProperties,
+    ProcSetSelectionOwner,
+    ProcGetSelectionOwner,
+    ProcConvertSelection,
+    ProcSendEvent,                      /* 25 */
+    ProcGrabPointer,
+    ProcUngrabPointer,
+    ProcGrabButton,
+    ProcUngrabButton,
+    ProcChangeActivePointerGrab,        /* 30 */
+    ProcGrabKeyboard,
+    ProcUngrabKeyboard,
+    ProcGrabKey,
+    ProcUngrabKey,
+    ProcAllowEvents,                    /* 35 */
+    ProcGrabServer,
+    ProcUngrabServer,
+    ProcQueryPointer,
+    ProcGetMotionEvents,
+    ProcTranslateCoords,                /* 40 */
+    ProcWarpPointer,
+    ProcSetInputFocus,
+    ProcGetInputFocus,
+    ProcQueryKeymap,
+    ProcOpenFont,                       /* 45 */
+    ProcCloseFont,
+    ProcQueryFont,
+    ProcQueryTextExtents,
+    ProcListFonts,
+    ProcListFontsWithInfo,              /* 50 */
+    ProcSetFontPath,
+    ProcGetFontPath,
+    ProcCreatePixmap,
+    ProcFreePixmap,
+    ProcCreateGC,                       /* 55 */
+    ProcChangeGC,
+    ProcCopyGC,
+    ProcSetDashes,
+    ProcSetClipRectangles,
+    ProcFreeGC,                         /* 60 */
+    ProcClearToBackground,
+    ProcCopyArea,
+    ProcCopyPlane,
+    ProcPolyPoint,
+    ProcPolyLine,                       /* 65 */
+    ProcPolySegment,
+    ProcPolyRectangle,
+    ProcPolyArc,
+    ProcFillPoly,
+    ProcPolyFillRectangle,              /* 70 */
+    ProcPolyFillArc,
+    ProcPutImage,
+    ProcGetImage,
+    ProcPolyText,
+    ProcPolyText,                       /* 75 */
+    ProcImageText8,
+    ProcImageText16,
+    ProcCreateColormap,
+    ProcFreeColormap,
+    ProcCopyColormapAndFree,            /* 80 */
+    ProcInstallColormap,
+    ProcUninstallColormap,
+    ProcListInstalledColormaps,
+    ProcAllocColor,
+    ProcAllocNamedColor,                /* 85 */
+    ProcAllocColorCells,
+    ProcAllocColorPlanes,
+    ProcFreeColors,
+    ProcStoreColors,
+    ProcStoreNamedColor,                /* 90 */
+    ProcQueryColors,
+    ProcLookupColor,
+    ProcCreateCursor,
+    ProcCreateGlyphCursor,
+    ProcFreeCursor,                     /* 95 */
+    ProcRecolorCursor,
+    ProcQueryBestSize,
+    ProcQueryExtension,
+    ProcListExtensions,
+    ProcChangeKeyboardMapping,          /* 100 */
+    ProcGetKeyboardMapping,
+    ProcChangeKeyboardControl,
+    ProcGetKeyboardControl,
+    ProcBell,
+    ProcChangePointerControl,           /* 105 */
+    ProcGetPointerControl,
+    ProcSetScreenSaver,
+    ProcGetScreenSaver,
+    ProcChangeHosts,
+    ProcListHosts,                      /* 110 */
+    ProcChangeAccessControl,
+    ProcChangeCloseDownMode,
+    ProcKillClient,
+    ProcRotateProperties,
+    ProcForceScreenSaver,               /* 115 */
+    ProcSetPointerMapping,
+    ProcGetPointerMapping,
+    ProcSetModifierMapping,
+    ProcGetModifierMapping,
+    ProcBadRequest,                     /* 120 */
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,                     /* 125 */
+    ProcBadRequest,
+    ProcNoOperation,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest,
+    ProcBadRequest
+};
 
-int (*SwappedProcVector[256]) (ClientPtr        /* client */
-    ) = {
-    ProcBadRequest, SProcCreateWindow, SProcChangeWindowAttributes, SProcResourceReq,   /* GetWindowAttributes */
-        SProcResourceReq,       /* DestroyWindow */
-        SProcResourceReq,       /* 5 DestroySubwindows */
-        SProcResourceReq,       /* SProcChangeSaveSet, */
-        SProcReparentWindow, SProcResourceReq,  /* MapWindow */
-        SProcResourceReq,       /* MapSubwindows */
-        SProcResourceReq,       /* 10 UnmapWindow */
-        SProcResourceReq,       /* UnmapSubwindows */
-        SProcConfigureWindow, SProcResourceReq, /* SProcCirculateWindow, */
-        SProcResourceReq,       /* GetGeometry */
-        SProcResourceReq,       /* 15 QueryTree */
-        SProcInternAtom, SProcResourceReq,      /* SProcGetAtomName, */
-        SProcChangeProperty, SProcDeleteProperty, SProcGetProperty,     /* 20 */
-        SProcResourceReq,       /* SProcListProperties, */
-        SProcSetSelectionOwner, SProcResourceReq,       /* SProcGetSelectionOwner, */
-        SProcConvertSelection, SProcSendEvent,  /* 25 */
-        SProcGrabPointer, SProcResourceReq,     /* SProcUngrabPointer, */
-        SProcGrabButton, SProcUngrabButton, SProcChangeActivePointerGrab,       /* 30 */
-        SProcGrabKeyboard, SProcResourceReq,    /* SProcUngrabKeyboard, */
-        SProcGrabKey, SProcUngrabKey, SProcResourceReq, /* 35 SProcAllowEvents, */
-        SProcSimpleReq,         /* SProcGrabServer, */
-        SProcSimpleReq,         /* SProcUngrabServer, */
-        SProcResourceReq,       /* SProcQueryPointer, */
-        SProcGetMotionEvents, SProcTranslateCoords,     /*40 */
-        SProcWarpPointer, SProcSetInputFocus, SProcSimpleReq,   /* SProcGetInputFocus, */
-        SProcSimpleReq,         /* QueryKeymap, */
-        SProcOpenFont,          /* 45 */
-        SProcResourceReq,       /* SProcCloseFont, */
-        SProcResourceReq,       /* SProcQueryFont, */
-        SProcResourceReq,       /* SProcQueryTextExtents,  */
-        SProcListFonts, SProcListFontsWithInfo, /* 50 */
-        SProcSetFontPath, SProcSimpleReq,       /* GetFontPath, */
-        SProcCreatePixmap, SProcResourceReq,    /* SProcFreePixmap, */
-        SProcCreateGC,          /* 55 */
-        SProcChangeGC, SProcCopyGC, SProcSetDashes, SProcSetClipRectangles, SProcResourceReq,   /* 60 SProcFreeGC, */
-        SProcClearToBackground, SProcCopyArea, SProcCopyPlane, SProcPoly,       /* PolyPoint, */
-        SProcPoly,              /* 65 PolyLine */
-        SProcPoly,              /* PolySegment, */
-        SProcPoly,              /* PolyRectangle, */
-        SProcPoly,              /* PolyArc, */
-        SProcFillPoly, SProcPoly,       /* 70 PolyFillRectangle */
-        SProcPoly,              /* PolyFillArc, */
-        SProcPutImage, SProcGetImage, SProcPolyText, SProcPolyText,     /* 75 */
-        SProcImageText, SProcImageText, SProcCreateColormap, SProcResourceReq,  /* SProcFreeColormap, */
-        SProcCopyColormapAndFree,       /* 80 */
-        SProcResourceReq,       /* SProcInstallColormap, */
-        SProcResourceReq,       /* SProcUninstallColormap, */
-        SProcResourceReq,       /* SProcListInstalledColormaps, */
-        SProcAllocColor, SProcAllocNamedColor,  /* 85 */
-        SProcAllocColorCells, SProcAllocColorPlanes, SProcFreeColors, SProcStoreColors, SProcStoreNamedColor,   /* 90 */
-        SProcQueryColors, SProcLookupColor, SProcCreateCursor, SProcCreateGlyphCursor, SProcResourceReq,        /* 95 SProcFreeCursor, */
-        SProcRecolorCursor, SProcQueryBestSize, SProcQueryExtension, SProcSimpleReq,    /* ListExtensions, */
-        SProcChangeKeyboardMapping,     /* 100 */
-        SProcSimpleReq,         /* GetKeyboardMapping, */
-        SProcChangeKeyboardControl, SProcSimpleReq,     /* GetKeyboardControl, */
-        SProcSimpleReq,         /* Bell, */
-        SProcChangePointerControl,      /* 105 */
-        SProcSimpleReq,         /* GetPointerControl, */
-        SProcSetScreenSaver, SProcSimpleReq,    /* GetScreenSaver, */
-        SProcChangeHosts, SProcSimpleReq,       /* 110 ListHosts, */
-        SProcSimpleReq,         /* SProcChangeAccessControl, */
-        SProcSimpleReq,         /* SProcChangeCloseDownMode, */
-        SProcResourceReq,       /* SProcKillClient, */
-        SProcRotateProperties, SProcSimpleReq,  /* 115 ForceScreenSaver */
-        SProcSimpleReq,         /* SetPointerMapping, */
-        SProcSimpleReq,         /* GetPointerMapping, */
-        SProcSimpleReq,         /* SetModifierMapping, */
-        SProcSimpleReq,         /* GetModifierMapping, */
-        ProcBadRequest,         /* 120 */
-        ProcBadRequest, ProcBadRequest, ProcBadRequest, ProcBadRequest, ProcBadRequest, /* 125 */
-ProcBadRequest,
-        SProcNoOperation,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,
-        ProcBadRequest,


Reply to: