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

xorg-server: Changes to 'ubuntu'



 ChangeLog                                                                   |  781 ++++++++++
 Xext/xcmisc.c                                                               |    1 
 Xext/xvdisp.c                                                               |   20 
 Xi/chgdctl.c                                                                |    8 
 Xi/chgfctl.c                                                                |    2 
 Xi/sendexev.c                                                               |    3 
 Xi/xiallowev.c                                                              |    2 
 Xi/xichangecursor.c                                                         |    2 
 Xi/xichangehierarchy.c                                                      |   35 
 Xi/xigetclientpointer.c                                                     |    1 
 Xi/xigrabdev.c                                                              |    9 
 Xi/xipassivegrab.c                                                          |   12 
 Xi/xiproperty.c                                                             |   14 
 Xi/xiquerydevice.c                                                          |    1 
 Xi/xiquerypointer.c                                                         |    2 
 Xi/xiselectev.c                                                             |    8 
 Xi/xisetclientpointer.c                                                     |    3 
 Xi/xisetdevfocus.c                                                          |    4 
 Xi/xiwarppointer.c                                                          |    2 
 configure.ac                                                                |    5 
 dbe/dbe.c                                                                   |   17 
 debian/changelog                                                            |   32 
 debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff |   68 
 debian/patches/09_Xserver-man-iglx.diff                                     |   16 
 debian/patches/series                                                       |    2 
 debian/patches/xmir.patch                                                   |  136 -
 dix/dispatch.c                                                              |    3 
 dix/region.c                                                                |   20 
 dri3/dri3_request.c                                                         |    6 
 fb/fbseg.c                                                                  |   20 
 glx/clientinfo.c                                                            |   20 
 glx/glxcmds.c                                                               |   85 -
 glx/glxcmdsswap.c                                                           |    4 
 glx/glxserver.h                                                             |   43 
 glx/indirect_dispatch.c                                                     |   25 
 glx/indirect_dispatch_swap.c                                                |   26 
 glx/indirect_program.c                                                      |    2 
 glx/indirect_reqsize.c                                                      |  142 -
 glx/indirect_reqsize.h                                                      |  181 +-
 glx/indirect_texture_compression.c                                          |    4 
 glx/indirect_util.c                                                         |    9 
 glx/rensize.c                                                               |  114 -
 glx/single2.c                                                               |   23 
 glx/single2swap.c                                                           |   19 
 glx/singlepix.c                                                             |   60 
 glx/singlepixswap.c                                                         |   50 
 glx/swap_interval.c                                                         |    2 
 glx/unpack.h                                                                |    3 
 hw/xfree86/dri2/dri2ext.c                                                   |    3 
 include/dix.h                                                               |    7 
 include/regionstr.h                                                         |   10 
 man/Xserver.man                                                             |   10 
 os/access.c                                                                 |    6 
 os/rpcauth.c                                                                |    4 
 present/present.c                                                           |   18 
 present/present_request.c                                                   |    6 
 randr/rrsdispatch.c                                                         |    4 
 render/render.c                                                             |   20 
 test/Makefile.am                                                            |    2 
 test/misc.c                                                                 |   37 
 test/xi1/Makefile.am                                                        |   34 
 test/xi1/protocol-xchangedevicecontrol.c                                    |  122 +
 test/xi2/protocol-xigetclientpointer.c                                      |    5 
 test/xi2/protocol-xipassivegrabdevice.c                                     |    8 
 test/xi2/protocol-xiquerypointer.c                                          |    4 
 test/xi2/protocol-xiwarppointer.c                                           |    3 
 xfixes/select.c                                                             |    1 
 67 files changed, 1857 insertions(+), 494 deletions(-)

New commits:
commit 7e83b9b581d0b84479c1954f2defd380279d4d1f
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date:   Sat Dec 13 14:18:05 2014 +0100

    Fix FTBFS with the bool redefinition by undef'ing it after including mir.

diff --git a/debian/changelog b/debian/changelog
index 5287cff..908b4a9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.16.2.901-1ubuntu2) vivid; urgency=medium
+
+  * Fix FTBFS with the bool redefinition by undef'ing it after including mir.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Sat, 13 Dec 2014 14:13:17 +0100
+
 xorg-server (2:1.16.2.901-1ubuntu1) vivid; urgency=medium
 
   * Merge from released debian-unstable.
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index f60216f..23a620a 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1,8 +1,6 @@
-diff --git a/configure.ac b/configure.ac
-index e5387bf..ec171d9 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -627,6 +627,7 @@ AC_ARG_ENABLE(linux_acpi, AS_HELP_STRING([--disable-linux-acpi], [Disable buildi
+@@ -632,6 +632,7 @@
  AC_ARG_ENABLE(linux_apm, AS_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes])
  AC_ARG_ENABLE(systemd-logind, AS_HELP_STRING([--enable-systemd-logind], [Build systemd-logind support (default: auto)]), [SYSTEMD_LOGIND=$enableval], [SYSTEMD_LOGIND=auto])
  AC_ARG_ENABLE(suid-wrapper, AS_HELP_STRING([--enable-suid-wrapper], [Build suid-root wrapper for legacy driver support on rootless xserver systems (default: no)]), [SUID_WRAPPER=$enableval], [SUID_WRAPPER=no])
@@ -10,7 +8,7 @@ index e5387bf..ec171d9 100644
  
  dnl DDXes.
  AC_ARG_ENABLE(xorg,    	      AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
-@@ -1348,6 +1349,15 @@ if test "x$XINERAMA" = xyes; then
+@@ -1368,6 +1369,15 @@
  	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
  fi
  
@@ -20,13 +18,13 @@ index e5387bf..ec171d9 100644
 +        AC_SUBST([XMIR_CFLAGS])
 +        AC_DEFINE(XMIR, 1, [Support wayland mode])
 +	SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES mirclient"
-+fi	      
++fi
 +AM_CONDITIONAL(XMIR, [test "x$XMIR" = xyes])
 +
  AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
  if test "x$XACE" = xyes; then
  	AC_DEFINE(XACE, 1, [Build X-ACE extension])
-@@ -2573,6 +2583,7 @@ hw/xfree86/utils/Makefile
+@@ -2598,6 +2608,7 @@
  hw/xfree86/utils/man/Makefile
  hw/xfree86/utils/cvt/Makefile
  hw/xfree86/utils/gtf/Makefile
@@ -34,11 +32,9 @@ index e5387bf..ec171d9 100644
  hw/dmx/config/Makefile
  hw/dmx/config/man/Makefile
  hw/dmx/doc/Makefile
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index c5992c3..c9a077f 100644
 --- a/hw/xfree86/Makefile.am
 +++ b/hw/xfree86/Makefile.am
-@@ -34,16 +34,20 @@ if INT10MODULE
+@@ -34,16 +34,20 @@
  INT10_SUBDIR = int10
  endif
  
@@ -61,11 +57,9 @@ index c5992c3..c9a077f 100644
  
  bin_PROGRAMS = Xorg
  nodist_Xorg_SOURCES = sdksyms.c
-diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
-index 2adef44..f8c3a7e 100644
 --- a/hw/xfree86/common/xf86Config.c
 +++ b/hw/xfree86/common/xf86Config.c
-@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = {
+@@ -118,6 +118,7 @@
      {.name = "fb",.toLoad = TRUE,.load_opt = NULL},
      {.name = "shadow",.toLoad = TRUE,.load_opt = NULL},
  #endif
@@ -73,7 +67,7 @@ index 2adef44..f8c3a7e 100644
      {.name = NULL,.toLoad = FALSE,.load_opt = NULL}
  };
  
-@@ -272,6 +273,17 @@ xf86ModulelistFromConfig(void ***optlist)
+@@ -272,6 +273,17 @@
          return NULL;
      }
  
@@ -91,11 +85,9 @@ index 2adef44..f8c3a7e 100644
      if (xf86configptr->conf_modules) {
          /* Walk the disable list and let people know what we've parsed to
           * not be loaded 
-diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
-index 35a673d..082e454 100644
 --- a/hw/xfree86/common/xf86Events.c
 +++ b/hw/xfree86/common/xf86Events.c
-@@ -614,6 +614,10 @@ xf86VTSwitch(void)
+@@ -614,6 +614,10 @@
  {
      DebugF("xf86VTSwitch()\n");
  
@@ -106,22 +98,18 @@ index 35a673d..082e454 100644
  #ifdef XFreeXDGA
      if (!DGAVTSwitch())
          return;
-diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
-index 984c39b..9b23d9a 100644
 --- a/hw/xfree86/common/xf86Globals.c
 +++ b/hw/xfree86/common/xf86Globals.c
-@@ -204,3 +204,6 @@ Bool xf86VidModeAllowNonLocal = FALSE;
+@@ -207,3 +207,6 @@
  #endif
  RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
  Bool xorgHWAccess = FALSE;
 +Bool xorgMir = FALSE;
 +const char *mirID = NULL;
 +const char *mirSocket = NULL;
-diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
-index e2b32a0..d942ffd 100644
 --- a/hw/xfree86/common/xf86Helper.c
 +++ b/hw/xfree86/common/xf86Helper.c
-@@ -100,7 +100,14 @@ xf86DeleteDriver(int drvIndex)
+@@ -100,7 +100,14 @@
          if (xf86DriverList[drvIndex]->module)
              UnloadModule(xf86DriverList[drvIndex]->module);
          free(xf86DriverList[drvIndex]);
@@ -137,11 +125,9 @@ index e2b32a0..d942ffd 100644
      }
  }
  
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index 5a45004..931381d 100644
 --- a/hw/xfree86/common/xf86Init.c
 +++ b/hw/xfree86/common/xf86Init.c
-@@ -540,7 +540,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -564,7 +564,7 @@
           * needed at this early stage.
           */
  
@@ -150,13 +136,13 @@ index 5a45004..931381d 100644
              xorgHWFlags flags = HW_IO;
  
              if (xf86DriverList[i]->Identify != NULL)
-@@ -551,12 +551,22 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -575,12 +575,22 @@
                                                GET_REQUIRED_HW_INTERFACES,
                                                &flags);
  
 +            if (xorgMir &&
 +                (NEED_IO_ENABLED(flags) || !(flags & HW_SKIP_CONSOLE))) {
-+                
++
 +                ErrorF("Driver needs flags %lu, incompatible with nested, deleting.\n", flags);
 +                xf86DeleteDriver(i);
 +                continue;
@@ -173,7 +159,7 @@ index 5a45004..931381d 100644
          }
  
          if (xorgHWOpenConsole)
-@@ -644,9 +654,13 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -675,9 +685,13 @@
          }
  
          /* Remove (unload) drivers that are not required */
@@ -189,7 +175,7 @@ index 5a45004..931381d 100644
  
          /*
           * At this stage we know how many screens there are.
-@@ -1479,6 +1493,17 @@ ddxProcessArgument(int argc, char **argv, int i)
+@@ -1515,6 +1529,17 @@
          xf86Info.ShareVTs = TRUE;
          return 1;
      }
@@ -207,7 +193,7 @@ index 5a45004..931381d 100644
  
      /* OS-specific processing */
      return xf86ProcessArgument(argc, argv, i);
-@@ -1552,6 +1577,8 @@ ddxUseMsg(void)
+@@ -1588,6 +1613,8 @@
      ErrorF
          ("-novtswitch            don't automatically switch VT at reset & exit\n");
      ErrorF("-sharevts              share VTs with another X server\n");
@@ -216,11 +202,9 @@ index 5a45004..931381d 100644
      /* OS-specific usage */
      xf86UseMsg();
      ErrorF("\n");
-diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
-index 6e374eb..226ae5d 100644
 --- a/hw/xfree86/common/xf86Priv.h
 +++ b/hw/xfree86/common/xf86Priv.h
-@@ -91,6 +91,11 @@ extern _X_EXPORT int xf86NumScreens;
+@@ -93,6 +93,11 @@
  extern _X_EXPORT const char *xf86VisualNames[];
  extern _X_EXPORT int xf86Verbose;       /* verbosity level */
  extern _X_EXPORT int xf86LogVerbose;    /* log file verbosity level */
@@ -232,7 +216,7 @@ index 6e374eb..226ae5d 100644
  
  extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable;
  
-@@ -148,6 +153,7 @@ extern _X_EXPORT int (*xf86PMGetEventFromOs) (int fd, pmEvent * events,
+@@ -150,6 +155,7 @@
                                                int num);
  extern _X_EXPORT pmWait (*xf86PMConfirmEventToOs) (int fd, pmEvent event);
  
@@ -240,17 +224,15 @@ index 6e374eb..226ae5d 100644
  /* xf86Helper.c */
  extern _X_EXPORT void
  xf86LogInit(void);
-diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c
-index fac6822..7becd5f 100644
 --- a/hw/xfree86/ramdac/xf86Cursor.c
 +++ b/hw/xfree86/ramdac/xf86Cursor.c
-@@ -58,7 +58,12 @@ xf86InitCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr)
+@@ -58,7 +58,12 @@
      xf86CursorScreenPtr ScreenPriv;
      miPointerScreenPtr PointPriv;
  
 -    if (!xf86InitHardwareCursor(pScreen, infoPtr))
 +    infoPtr->pScrn = xf86ScreenToScrn(pScreen);
-+    
++
 +    /* If we can't create a hardware cursor don't bother initialising HW cursor support */
 +    if (infoPtr->MaxWidth != 0 &&
 +        infoPtr->MaxHeight != 0 &&
@@ -258,11 +240,9 @@ index fac6822..7becd5f 100644
          return FALSE;
  
      if (!dixRegisterPrivateKey(&xf86CursorScreenKeyRec, PRIVATE_SCREEN, 0))
-diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c
-index 953c86a..d8994be 100644
 --- a/hw/xfree86/ramdac/xf86HWCurs.c
 +++ b/hw/xfree86/ramdac/xf86HWCurs.c
-@@ -114,8 +114,6 @@ xf86InitHardwareCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr)
+@@ -114,8 +114,6 @@
          infoPtr->RealizeCursor = RealizeCursorInterleave0;
      }
  
@@ -271,9 +251,6 @@ index 953c86a..d8994be 100644
      return TRUE;
  }
  
-diff --git a/hw/xfree86/xmir/#xmir.h# b/hw/xfree86/xmir/#xmir.h#
-new file mode 100644
-index 0000000..1ca78b1
 --- /dev/null
 +++ b/hw/xfree86/xmir/#xmir.h#
 @@ -0,0 +1,14 @@
@@ -283,7 +260,7 @@ index 0000000..1ca78b1
 +    uint32_t stride;
 +} MirBufferInfo;
 +
-+typedef void (*XMirBufferReceivedProcPtr)(WindowPtr window, 
++typedef void (*XMirBufferReceivedProcPtr)(WindowPtr window,
 +                                          MirBufferInfo *info);
 +
 +typedef struct xmir_screen {
@@ -291,9 +268,6 @@ index 0000000..1ca78b1
 +    MirSurface *root_surf;
 +    RealizeWindowProcPtr RealizeWindow;
 +} xmir_screen;
-diff --git a/hw/xfree86/xmir/Makefile.am b/hw/xfree86/xmir/Makefile.am
-new file mode 100644
-index 0000000..80715f8
 --- /dev/null
 +++ b/hw/xfree86/xmir/Makefile.am
 @@ -0,0 +1,26 @@
@@ -323,9 +297,6 @@ index 0000000..80715f8
 +	xmir-private.h
 +
 +sdk_HEADERS = xmir.h
-diff --git a/hw/xfree86/xmir/xmir-output.c b/hw/xfree86/xmir/xmir-output.c
-new file mode 100644
-index 0000000..6cfb9da
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-output.c
 @@ -0,0 +1,678 @@
@@ -654,7 +625,7 @@ index 0000000..6cfb9da
 +    const char *error_msg;
 +
 +    if (mode->HDisplay == 0 || mode->VDisplay == 0)
-+        return FALSE;    
++        return FALSE;
 +
 +    xf86Msg(X_INFO, "Initial configuration for crtc %p:\n", crtc);
 +    xmir_dump_config(xmir_crtc->config);
@@ -820,7 +791,7 @@ index 0000000..6cfb9da
 +static void
 +xmir_output_destroy(xf86OutputPtr xf86output)
 +{
-+    /* The MirDisplayOutput* in driver_private gets cleaned up by 
++    /* The MirDisplayOutput* in driver_private gets cleaned up by
 +       mir_display_config_destroy() */
 +}
 +
@@ -917,7 +888,7 @@ index 0000000..6cfb9da
 +    xmir_update_config(crtc_config);
 +
 +    /* Trigger RANDR refresh */
-+    RRGetInfo(xf86ScrnToScreen(scrn), TRUE);   
++    RRGetInfo(xf86ScrnToScreen(scrn), TRUE);
 +}
 +
 +static void
@@ -1004,12 +975,9 @@ index 0000000..6cfb9da
 +
 +    /* TODO: Use initial Mir state rather than setting up our own */
 +    xf86InitialConfiguration(scrn, TRUE);
-+  
++
 +    return TRUE;
 +}
-diff --git a/hw/xfree86/xmir/xmir-private.h b/hw/xfree86/xmir/xmir-private.h
-new file mode 100644
-index 0000000..15d89f0
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-private.h
 @@ -0,0 +1,106 @@
@@ -1119,9 +1087,6 @@ index 0000000..15d89f0
 +xmir_process_from_eventloop(void);
 +
 + #endif /* _MIR_PRIVATE_H */
-diff --git a/hw/xfree86/xmir/xmir-thread-proxy.c b/hw/xfree86/xmir/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..2e60aec
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-thread-proxy.c
 @@ -0,0 +1,124 @@
@@ -1218,7 +1183,7 @@ index 0000000..2e60aec
 +}
 +
 +void
-+xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg) 
++xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg)
 +{
 +	ssize_t written;
 +	const int total_size = sizeof *handler + handler->msg_size;
@@ -1249,9 +1214,6 @@ index 0000000..2e60aec
 +	}
 +}
 +
-diff --git a/hw/xfree86/xmir/xmir-window.c b/hw/xfree86/xmir/xmir-window.c
-new file mode 100644
-index 0000000..18a19bf
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir-window.c
 @@ -0,0 +1,343 @@
@@ -1590,7 +1552,7 @@ index 0000000..18a19bf
 +    xmir->DestroyWindow = screen->DestroyWindow;
 +    screen->DestroyWindow = xmir_destroy_window;
 +
-+    xmir->submit_rendering_handler = 
++    xmir->submit_rendering_handler =
 +        xmir_register_handler(&xmir_handle_buffer_available,
 +                              sizeof (xmir_window *));
 +    if (xmir->submit_rendering_handler == NULL)
@@ -1598,9 +1560,6 @@ index 0000000..18a19bf
 +
 +    return TRUE;
 +}
-diff --git a/hw/xfree86/xmir/xmir.c b/hw/xfree86/xmir/xmir.c
-new file mode 100644
-index 0000000..ceb81e1
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir.c
 @@ -0,0 +1,263 @@
@@ -1655,7 +1614,7 @@ index 0000000..ceb81e1
 +#include <mir_toolkit/mir_client_library_drm.h>
 +
 +static DevPrivateKeyRec xmir_screen_private_key;
-+/* 
++/*
 + * We have only a single Mir connection, regardless of how many
 + * drivers load.
 + */
@@ -1781,7 +1740,7 @@ index 0000000..ceb81e1
 +        xf86Msg(X_WARNING, "xf86Cursor initialisation failed\n");
 +
 +    /* Hook up focus -> VT switch proxy */
-+    xmir->focus_event_handler = 
++    xmir->focus_event_handler =
 +        xmir_register_handler(&xmir_handle_focus_event,
 +                              sizeof(Bool));
 +    if (xmir->focus_event_handler == NULL)
@@ -1803,7 +1762,7 @@ index 0000000..ceb81e1
 +_X_EXPORT void
 +xmir_screen_destroy(xmir_screen *xmir)
 +{
-+    
++
 +}
 +
 +_X_EXPORT void
@@ -1839,7 +1798,7 @@ index 0000000..ceb81e1
 +xMirSetup(void* module, void* opts, int *errmaj, int *errmin)
 +{
 +    static Bool setupDone = FALSE;
-+    
++
 +    if (setupDone) {
 +        if (errmaj)
 +            *errmaj = LDR_ONCEONLY;
@@ -1856,7 +1815,7 @@ index 0000000..ceb81e1
 +        return NULL;
 +    }
 +
-+    xmir_init_thread_to_eventloop();    
++    xmir_init_thread_to_eventloop();
 +
 +    setupDone = TRUE;
 +
@@ -1867,12 +1826,9 @@ index 0000000..ceb81e1
 +xMirTeardown(void* module)
 +{
 +}
-diff --git a/hw/xfree86/xmir/xmir.h b/hw/xfree86/xmir/xmir.h
-new file mode 100644
-index 0000000..78396a3
 --- /dev/null
 +++ b/hw/xfree86/xmir/xmir.h
-@@ -0,0 +1,103 @@
+@@ -0,0 +1,106 @@
 +/*
 + * Copyright © 2012 Canonical, Inc
 + *
@@ -1911,6 +1867,9 @@ index 0000000..78396a3
 +#include <stdint.h>
 +#include <mir_toolkit/mir_client_library.h>
 +
++/* Fix because the library defines one of its members as having the name bool */
++#undef bool
++
 +#include "xf86str.h"
 +#include "scrnintstr.h"
 +#include "window.h"
@@ -1943,7 +1902,7 @@ index 0000000..78396a3
 +
 +_X_EXPORT void
 +xmir_screen_close(ScreenPtr screen, xmir_screen *xmir);
-+	
++
 +_X_EXPORT void
 +xmir_screen_destroy(xmir_screen *xmir);
 +
@@ -1976,11 +1935,9 @@ index 0000000..78396a3
 +xmir_screen_for_each_damaged_window(xmir_screen *xmir, xmir_window_proc callback);
 +
 +#endif /* _XMIR_H */
-diff --git a/include/list.h b/include/list.h
-index 455c670..c5f8d11 100644
 --- a/include/list.h
 +++ b/include/list.h
-@@ -184,6 +184,14 @@ __xorg_list_del(struct xorg_list *prev, struct xorg_list *next)
+@@ -184,6 +184,14 @@
      prev->next = next;
  }
  
@@ -1995,8 +1952,6 @@ index 455c670..c5f8d11 100644
  /**
   * Remove the element from the list it is in. Using this function will reset
   * the pointers to/from this element so it is removed from the list. It does
-diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
-index 8bf9d38..9bcfe7c 100644
 --- a/include/xorg-server.h.in
 +++ b/include/xorg-server.h.in
 @@ -227,4 +227,7 @@
@@ -2007,13 +1962,11 @@ index 8bf9d38..9bcfe7c 100644
 +#undef XMIR
 +
  #endif /* _XORG_SERVER_H_ */
-diff --git a/test/Makefile.am b/test/Makefile.am
-index 32edc7a..39c86ca 100644
 --- a/test/Makefile.am
 +++ b/test/Makefile.am
-@@ -6,7 +6,12 @@ if XORG
+@@ -6,7 +6,12 @@
  # For now, requires xf86 ddx, could be adjusted to use another
- SUBDIRS += xi2
+ SUBDIRS += xi1 xi2
  noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch
 -endif
 +
@@ -2025,7 +1978,7 @@ index 32edc7a..39c86ca 100644
  check_LTLIBRARIES = libxservertest.la
  
  TESTS=$(noinst_PROGRAMS)
-@@ -37,6 +42,8 @@ touch_LDADD=$(TEST_LDADD)
+@@ -37,6 +42,8 @@
  signal_logging_LDADD=$(TEST_LDADD)
  hashtabletest_LDADD=$(TEST_LDADD)
  os_LDADD=$(TEST_LDADD)
@@ -2034,9 +1987,6 @@ index 32edc7a..39c86ca 100644
  
  libxservertest_la_LIBADD = $(XSERVER_LIBS)
  if XORG
-diff --git a/test/xmir-thread-proxy.c b/test/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..7cf19cf
 --- /dev/null
 +++ b/test/xmir-thread-proxy.c
 @@ -0,0 +1,154 @@
@@ -2176,7 +2126,7 @@ index 0000000..7cf19cf
 +
 +	xmir_process_from_eventloop();
 +
-+	assert(check == NUM_THREADS);	
++	assert(check == NUM_THREADS);
 +}
 +
 +static void

commit 495f55531e5ef4bd93a46436b55a0845f11364b2
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date:   Thu Dec 11 16:17:27 2014 +0100

    release to vivid

diff --git a/debian/changelog b/debian/changelog
index 1340401..5287cff 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-xorg-server (2:1.16.2.901-1ubuntu1) UNRELEASED; urgency=medium
+xorg-server (2:1.16.2.901-1ubuntu1) vivid; urgency=medium
 
   * Merge from released debian-unstable.
 
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Thu, 11 Dec 2014 16:15:36 +0100
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Thu, 11 Dec 2014 16:17:07 +0100
 
 xorg-server (2:1.16.2.901-1) unstable; urgency=medium
 

commit 188080cb3e175e798afd9d70055e0f70cf29360f
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date:   Thu Dec 11 16:17:05 2014 +0100

    Merge from released debian-unstable.

diff --git a/debian/changelog b/debian/changelog
index d7e4d3b..1340401 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.16.2.901-1ubuntu1) UNRELEASED; urgency=medium
+
+  * Merge from released debian-unstable.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Thu, 11 Dec 2014 16:15:36 +0100
+
 xorg-server (2:1.16.2.901-1) unstable; urgency=medium
 
   * New upstream release

commit 113fefcb3e81629291dd9cbfa14613908f967326
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Dec 9 22:25:56 2014 +0100

    Upload to unstable

diff --git a/debian/changelog b/debian/changelog
index 03e9c0c..392dd42 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.16.2.901-1) UNRELEASED; urgency=medium
+xorg-server (2:1.16.2.901-1) unstable; urgency=medium
 
   * New upstream release
     + fb: Fix Bresenham algorithms for commonly used small segments
@@ -16,7 +16,7 @@ xorg-server (2:1.16.2.901-1) UNRELEASED; urgency=medium
   * 09_Xserver-man-iglx.diff: adjust Xserver man page, we disable indirect glx
     contexts by default.
 
- -- Julien Cristau <jcristau@debian.org>  Tue, 09 Dec 2014 21:39:42 +0100
+ -- Julien Cristau <jcristau@debian.org>  Tue, 09 Dec 2014 22:04:20 +0100
 
 xorg-server (2:1.16.1.901-1) unstable; urgency=medium
 

commit eafda1e17bd997eaa2c4b636c990ba57830bae3a
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Dec 9 22:03:52 2014 +0100

    Merge 1.16.2.901
    
    Drop obsolete patch, adjust Xserver.man for -iglx default.

diff --git a/ChangeLog b/ChangeLog
index cf9123f..04c9c9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,784 @@
+commit 9b037af0410bb1f63d370d8b8be06135de7af600
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Tue Dec 9 20:55:02 2014 +0100
+
+    Bump to 1.16.2.901
+    
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit f7ff55a374d91f8b513159809ed41c3e029a6074
+Author: Keith Packard <keithp@keithp.com>
+Date:   Tue Dec 9 09:31:00 2014 -0800
+
+    dix: GetHosts bounds check using wrong pointer value [CVE-2014-8092 pt. 6]
+    
+    GetHosts saves the pointer to allocated memory in *data, and then
+    wants to bounds-check writes to that region, but was mistakenly using
+    a bare 'data' instead of '*data'. Also, data is declared as void **,
+    so we need a cast to turn it into a byte pointer so we can actually do
+    pointer comparisons.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 1559a94395258fd73e369f1a2c98a44bfe21a486)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 8e7c4380a56ab05412f630e9b6e02580cb04a804
+Author: Keith Packard <keithp@keithp.com>
+Date:   Tue Dec 9 09:30:59 2014 -0800
+
+    Missing parens in REQUEST_FIXED_SIZE macro [CVE-2014-8092 pt. 5]
+    
+    The 'n' parameter must be surrounded by parens in both places to
+    prevent precedence from mis-computing things.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 9802a0162f738de03585ca3f3b8a8266494f7d45)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 1069ca99298bf1e85e001bfde90b00a42afdb5d8
+Author: Keith Packard <keithp@keithp.com>
+Date:   Tue Dec 9 09:30:58 2014 -0800
+
+    glx: Can't mix declarations and code in X.org sources [CVE-2014-8098 pt. 9]
+    
+    We're using compiler compatibility settings which generate warnings
+    when a variable is declared after the first statement.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 61b17c0f10307e25e51e30e6fb1d3e3127f82d86)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 044764b5c627d1a6e8ea1dd8cf741a26aeb4b2e7
+Author: Keith Packard <keithp@keithp.com>
+Date:   Tue Dec 9 09:30:57 2014 -0800
+
+    dbe: Call to DDX SwapBuffers requires address of int, not unsigned int [CVE-2014-8097 pt. 2]
+    
+    When the local types used to walk the DBE request were changed, this
+    changed the type of the parameter passed to the DDX SwapBuffers API,
+    but there wasn't a matching change in the API definition.
+    
+    At this point, with the API frozen, I just stuck a new variable in
+    with the correct type. Because we've already bounds-checked nStuff to
+    be smaller than UINT32_MAX / sizeof(DbeSwapInfoRec), we know it will
+    fit in a signed int without overflow.
+    
+    Signed-off-by: Keith Packard <keithp@keithp.com
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit b20912c3d45cbbde3c443e6c3d9e189092fe65e1)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 73b1880eb37bd8ffbc3e36739e94f9b56b8323b9
+Author: Robert Morell <rmorell@nvidia.com>
+Date:   Wed Nov 12 18:51:43 2014 -0800
+
+    glx: Fix mask truncation in __glXGetAnswerBuffer [CVE-2014-8093 6/6]
+    
+    On a system where sizeof(unsigned) != sizeof(intptr_t), the unary
+    bitwise not operation will result in a mask that clears all high bits
+    from temp_buf in the expression:
+            temp_buf = (temp_buf + mask) & ~mask;
+    
+    Signed-off-by: Robert Morell <rmorell@nvidia.com>
+    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 7e7630bbb775573eea2a2335adb9d190c3e1e971)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 912df16404b80ea143bd75cdacc0d0976bae4c96
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:48 2014 -0500
+
+    glx: Pass remaining request length into ->varsize (v2) [CVE-2014-8098 8/8]
+    
+    v2: Handle more multiplies in indirect_reqsize.c (Julien Cristau)
+    
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit e883c170c15493ab3637c0a01890f5a7ca4e16a5)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 92de7a90a1f48b7fd37b8c78f6a2b8dfa13714a6
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:47 2014 -0500
+
+    glx: Length checking for non-generated single requests (v2) [CVE-2014-8098 7/8]
+    
+    v2:
+    Fix single versus vendor-private length checking for ARB_imaging subset
+    extensions. (Julien Cristau)
+    
+    v3:
+    Fix single versus vendor-private length checking for ARB_imaging subset
+    extensions. (Julien Cristau)
+    
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 984583a497c813df5827ae22483133e704fee79c)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 44ed4a6547136a0945cd85f93b83392cf53f58f2
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:46 2014 -0500
+
+    glx: Length-checking for non-generated vendor private requests [CVE-2014-8098 6/8]
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 44ba149f28ece93c2fbfc9cc980588de5322dd4b)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit fe9672204ad9edc09c4ae6ba1b9e9de09ec98287
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:45 2014 -0500
+
+    glx: Request length checks for SetClientInfoARB [CVE-2014-8098 5/8]
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit afe177020d1fb776c6163f21eddc82cb185b95ca)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 525db4433b042ad5a116ca0366498f5bc36e1640
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:44 2014 -0500
+
+    glx: Top-level length checking for swapped VendorPrivate requests [CVE-2014-8098 4/8]
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit c91e4abc3b892f42802efa20fef7ada442c2d3f5)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit cbf197e1c97ae0402abfc35514ef62120baee3a6
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:43 2014 -0500
+
+    glx: Length checking for RenderLarge requests (v2) [CVE-2014-8098 3/8]
+    
+    This is a half-measure until we start passing request length into the
+    varsize function, but it's better than the nothing we had before.
+    
+    v2: Verify that there's at least a large render header's worth of
+    dataBytes (Julien Cristau)
+    
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit a33a939e6abb255b14d8dbc85fcbd2c55b958bae)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+    
+    Conflicts:
+    	glx/glxcmds.c
+
+commit 7590915c9d76ff7efdc6398a37351df9fab2ce7d
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:42 2014 -0500
+
+    glx: Integer overflow protection for non-generated render requests (v3) [CVE-2014-8093 5/6]
+    
+    v2:
+    Fix constants in __glXMap2fReqSize (Michal Srb)
+    Validate w/h/d for proxy targets too (Keith Packard)
+    
+    v3:
+    Fix Map[12]Size to correctly reject order == 0 (Julien Cristau)
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 698888e6671d54c7ae41e9d456f7f5483a3459d2)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 20bc891f767a398bff3301369f8a78f9e65b7eda
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Mon Nov 10 12:13:41 2014 -0500
+
+    glx: Length checking for GLXRender requests (v2) [CVE-2014-8098 2/8]
+    
+    v2:
+    Remove can't-happen comparison for cmdlen < 0 (Michal Srb)
+    
+    Reviewed-by: Adam Jackson <ajax@redhat.com>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit be09e0c988ffdb0371293af49fb4ea8f49ed324a)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 233429c1d8c1183bead2d6f3726c92a7fc557ca9
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:40 2014 -0500
+
+    glx: Add safe_{add,mul,pad} (v3) [CVE-2014-8093 4/6]
+    
+    These are paranoid about integer overflow, and will return -1 if their
+    operation would overflow a (signed) integer or if either argument is
+    negative.
+    
+    Note that RenderLarge requests are sized with a uint32_t so in principle
+    this could be sketchy there, but dix limits bigreqs to 128M so you
+    shouldn't ever notice, and honestly if you're sending more than 2G of
+    rendering commands you're already doing something very wrong.
+    
+    v2: Use INT_MAX for consistency with the rest of the server (jcristau)
+    v3: Reject negative arguments (anholt)
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 2a5cbc17fc72185bf0fa06fef26d1f782de72595)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit e7dc700de969242983ca0964e38e87a79675f7fa
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:39 2014 -0500
+
+    glx: Fix image size computation for EXT_texture_integer [CVE-2014-8098 1/8]
+    
+    Without this we'd reject the request with BadLength.  Note that some old
+    versions of Mesa had a bug in the same place, and would _send_ zero
+    bytes of image data; these will now be rejected, correctly.
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 13d36923e0ddb077f4854e354c3d5c80590b5d9d)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 25e0fe2b59189be91a84626bc45278c7596ac438
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:38 2014 -0500
+
+    glx: Additional paranoia in __glXGetAnswerBuffer / __GLX_GET_ANSWER_BUFFER (v2) [CVE-2014-8093 3/6]
+    
+    If the computed reply size is negative, something went wrong, treat it
+    as an error.
+    
+    v2: Be more careful about size_t being unsigned (Matthieu Herrb)
+    v3: SIZE_MAX not SIZE_T_MAX (Alan Coopersmith)
+    
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit 717a1b37767b41e14859e5022ae9e679152821a9)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit de17ad13eb38af4bd5c8f085200bdab88496062f
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:37 2014 -0500
+
+    glx: Be more strict about rejecting invalid image sizes [CVE-2014-8093 2/6]
+    
+    Before this we'd just clamp the image size to 0, which was just
+    hideously stupid; if the parameters were such that they'd overflow an
+    integer, you'd allocate a small buffer, then pass huge values into (say)
+    ReadPixels, and now you're scribbling over arbitrary server memory.
+    
+    Reviewed-by: Keith Packard <keithp@keithp.com>
+    Reviewed-by: Julien Cristau <jcristau@debian.org>
+    Reviewed-by: Michal Srb <msrb@suse.com>
+    Reviewed-by: Andy Ritger <aritger@nvidia.com>
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    (cherry picked from commit ab2ba9338aa5e85b4487bc7fbe69985c76483e01)
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 1d496e046e398cd9d6d77edf8958967c86983bf0
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Nov 10 12:13:36 2014 -0500
+
+    glx: Be more paranoid about variable-length requests [CVE-2014-8093 1/6]
+    
+    If the size computation routine returns -1 we should just reject the
+    request outright.  Clamping it to zero could give an attacker the
+    opportunity to also mangle cmdlen in such a way that the subsequent
+    length check passes, and the request would get executed, thus passing


Reply to: