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

xorg-server: Changes to 'upstream-unstable'



 Xext/geext.c                                     |   22 
 Xext/security.c                                  |    2 
 Xext/shape.c                                     |    1 
 Xext/shm.c                                       |   12 
 Xext/sleepuntil.c                                |   17 
 Xext/sync.c                                      |   45 
 Xext/vidmode.c                                   |    2 
 Xext/xace.c                                      |   45 
 Xext/xace.h                                      |   12 
 Xext/xf86bigfont.c                               |   10 
 Xext/xres.c                                      |   96 -
 Xext/xselinux_hooks.c                            |   18 
 Xext/xvdisp.c                                    |    3 
 Xi/exevents.c                                    |    8 
 Xi/extinit.c                                     |   17 
 Xi/stubs.c                                       |   14 
 Xi/xiproperty.c                                  |    8 
 Xi/xiquerypointer.c                              |    4 
 composite/compalloc.c                            |    4 
 composite/compext.c                              |   29 
 config/config.c                                  |    6 
 config/dbus-core.c                               |   18 
 config/hal.c                                     |    4 
 config/udev.c                                    |   57 
 config/wscons.c                                  |    2 
 configure.ac                                     |  173 +-
 damageext/damageext.c                            |   23 
 dix/devices.c                                    |   81 -
 dix/dispatch.c                                   |  227 ++-
 dix/dixfonts.c                                   |  326 +++--
 dix/dixutils.c                                   |   45 
 dix/events.c                                     |   17 
 dix/getevents.c                                  |   29 
 dix/inpututils.c                                 |   17 
 dix/main.c                                       |   36 
 dix/pixmap.c                                     |    7 
 dix/privates.c                                   |    9 
 dix/property.c                                   |   14 
 dix/ptrveloc.c                                   |   42 
 dix/resource.c                                   |   41 
 dix/selection.c                                  |    3 
 dix/touch.c                                      |   92 -
 doc/Xinput.xml                                   |    8 
 doc/Xserver-spec.xml                             |   59 
 dri3/dri3_request.c                              |    8 
 dri3/dri3int.h                                   |   26 
 exa/exa.c                                        |   10 
 fb/fbimage.c                                     |    2 
 glamor/Makefile.am                               |    4 
 glamor/glamor.c                                  |   85 -
 glamor/glamor.h                                  |   40 
 glamor/glamor_composite_glyphs.c                 |    3 
 glamor/glamor_copy.c                             |   45 
 glamor/glamor_core.c                             |  168 --
 glamor/glamor_egl.c                              |  129 --
 glamor/glamor_egl.h                              |   79 +
 glamor/glamor_egl_stubs.c                        |    5 
 glamor/glamor_fbo.c                              |  238 ---
 glamor/glamor_font.c                             |    6 
 glamor/glamor_gradient.c                         |    8 
 glamor/glamor_largepixmap.c                      |    2 
 glamor/glamor_picture.c                          | 1003 +++------------
 glamor/glamor_priv.h                             |   55 
 glamor/glamor_program.c                          |    3 
 glamor/glamor_render.c                           |   86 -
 glamor/glamor_spans.c                            |    2 
 glamor/glamor_sync.c                             |    3 
 glamor/glamor_utils.h                            |  559 --------
 glx/Makefile.am                                  |   10 
 glx/createcontext.c                              |    8 
 glx/extension_string.c                           |    5 
 glx/extension_string.h                           |    1 
 glx/glxcmds.c                                    |   45 
 glx/glxcontext.h                                 |    5 
 glx/glxdrawable.h                                |    3 
 glx/glxdri2.c                                    |  182 +-
 glx/glxdricommon.c                               |   62 
 glx/glxdricommon.h                               |    3 
 glx/glxdriswrast.c                               |   98 -
 glx/glxext.c                                     |   22 
 glx/glxscreens.c                                 |   44 
 glx/glxscreens.h                                 |   17 
 glx/single2.c                                    |    4 
 glx/single2swap.c                                |    4 
 glx/singlepix.c                                  |    1 
 glx/singlepixswap.c                              |    1 
 hw/dmx/dmxfont.c                                 |    9 
 hw/dmx/dmxinput.c                                |    5 
 hw/dmx/dmxinput.h                                |   18 
 hw/dmx/dmxscrinit.c                              |    4 
 hw/dmx/dmxsync.c                                 |    4 
 hw/dmx/doc/dmx.xml                               |   11 
 hw/dmx/input/Makefile.am                         |    2 
 hw/dmx/input/dmxcommon.c                         |   17 
 hw/dmx/input/dmxevents.c                         |   29 
 hw/dmx/input/dmxinputinit.c                      |   13 
 hw/dmx/input/dmxsigio.c                          |  234 ---
 hw/dmx/input/dmxsigio.h                          |   43 
 hw/dmx/input/lnx-keyboard.c                      |    7 
 hw/dmx/input/lnx-ms.c                            |   21 
 hw/dmx/input/lnx-ps2.c                           |   14 
 hw/dmx/input/usb-common.c                        |    2 
 hw/dmx/input/usb-keyboard.c                      |    2 
 hw/kdrive/ephyr/Makefile.am                      |   14 
 hw/kdrive/ephyr/ephyr.c                          |  216 +--
 hw/kdrive/ephyr/ephyr.h                          |    6 
 hw/kdrive/ephyr/ephyr_glamor_glx.c               |    8 
 hw/kdrive/ephyr/ephyrdri.c                       |  356 -----
 hw/kdrive/ephyr/ephyrdri.h                       |   70 -
 hw/kdrive/ephyr/ephyrdriext.c                    | 1376 ---------------------
 hw/kdrive/ephyr/ephyrdriext.h                    |   40 
 hw/kdrive/ephyr/ephyrglxext.c                    |  854 -------------
 hw/kdrive/ephyr/ephyrglxext.h                    |   34 
 hw/kdrive/ephyr/ephyrhostglx.c                   |  490 -------
 hw/kdrive/ephyr/ephyrhostglx.h                   |   75 -
 hw/kdrive/ephyr/ephyrinit.c                      |   65 -
 hw/kdrive/ephyr/ephyrvideo.c                     |    2 
 hw/kdrive/ephyr/hostx.c                          |  275 ++--
 hw/kdrive/ephyr/hostx.h                          |   30 
 hw/kdrive/ephyr/os.c                             |    1 
 hw/kdrive/fake/mouse.c                           |    1 
 hw/kdrive/linux/evdev.c                          |   20 
 hw/kdrive/linux/linux.c                          |   80 -
 hw/kdrive/linux/mouse.c                          |   34 
 hw/kdrive/linux/ms.c                             |   13 
 hw/kdrive/linux/ps2.c                            |   13 
 hw/kdrive/linux/tslib.c                          |    1 
 hw/kdrive/src/Makefile.am                        |    8 
 hw/kdrive/src/kdrive.c                           |   96 +
 hw/kdrive/src/kdrive.h                           |    6 
 hw/kdrive/src/kinfo.c                            |    4 
 hw/kdrive/src/kinput.c                           |  390 +++---
 hw/vfb/InitOutput.c                              |    4 
 hw/xfree86/common/xf86.h                         |   13 
 hw/xfree86/common/xf86AutoConfig.c               |   13 
 hw/xfree86/common/xf86Bus.c                      |    3 
 hw/xfree86/common/xf86Config.c                   |   35 
 hw/xfree86/common/xf86Cursor.c                   |    8 
 hw/xfree86/common/xf86Events.c                   |  114 -
 hw/xfree86/common/xf86Globals.c                  |    3 
 hw/xfree86/common/xf86Helper.c                   |   94 -
 hw/xfree86/common/xf86Init.c                     |  266 +---
 hw/xfree86/common/xf86Module.h                   |    9 
 hw/xfree86/common/xf86PM.c                       |    8 
 hw/xfree86/common/xf86Priv.h                     |    6 
 hw/xfree86/common/xf86Privstr.h                  |   17 
 hw/xfree86/common/xf86VGAarbiter.c               |   12 
 hw/xfree86/common/xf86VGAarbiterPriv.h           |    6 
 hw/xfree86/common/xf86Xinput.c                   |  159 +-
 hw/xfree86/common/xf86cmap.c                     |   62 
 hw/xfree86/common/xf86platformBus.c              |   28 
 hw/xfree86/common/xf86str.h                      |    2 
 hw/xfree86/ddc/ddc.c                             |    2 
 hw/xfree86/ddc/ddcProperty.c                     |   55 
 hw/xfree86/ddc/edid.h                            |    1 
 hw/xfree86/dixmods/Makefile.am                   |    2 
 hw/xfree86/dixmods/glxmodule.c                   |   10 
 hw/xfree86/doc/Makefile.am                       |    1 
 hw/xfree86/doc/README.DRIcomp                    |  551 --------
 hw/xfree86/doc/ddxDesign.xml                     |   18 
 hw/xfree86/dri/dri.c                             |  171 +-
 hw/xfree86/dri/dri.h                             |   16 
 hw/xfree86/dri2/dri2.c                           |    8 
 hw/xfree86/dri2/pci_ids/i965_pci_ids.h           |   32 
 hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h       |   12 
 hw/xfree86/drivers/modesetting/Makefile.am       |    1 
 hw/xfree86/drivers/modesetting/dri2.c            |  323 ++++-
 hw/xfree86/drivers/modesetting/driver.c          |  547 +++++++-
 hw/xfree86/drivers/modesetting/driver.h          |   26 
 hw/xfree86/drivers/modesetting/drmmode_display.c |  573 ++++++---
 hw/xfree86/drivers/modesetting/drmmode_display.h |   55 
 hw/xfree86/drivers/modesetting/pageflip.c        |  344 +++++
 hw/xfree86/drivers/modesetting/present.c         |  335 -----
 hw/xfree86/drivers/modesetting/vblank.c          |   74 -
 hw/xfree86/i2c/xf86i2c.c                         |    8 
 hw/xfree86/loader/loader.c                       |    1 
 hw/xfree86/loader/loadmod.c                      |   38 
 hw/xfree86/loader/os.c                           |    2 
 hw/xfree86/man/xorg.conf.man                     |   35 
 hw/xfree86/modes/xf86Crtc.c                      |  113 -
 hw/xfree86/modes/xf86Crtc.h                      |   53 
 hw/xfree86/modes/xf86Cursors.c                   |  165 +-
 hw/xfree86/modes/xf86RandR12.c                   |  338 +++--
 hw/xfree86/modes/xf86RandR12.h                   |    5 
 hw/xfree86/modes/xf86Rotate.c                    |    9 
 hw/xfree86/os-support/bsd/bsd_init.c             |    2 
 hw/xfree86/os-support/bus/Sbus.c                 |    4 
 hw/xfree86/os-support/linux/lnx_init.c           |    2 
 hw/xfree86/os-support/shared/VTsw_usl.c          |    2 
 hw/xfree86/os-support/shared/posix_tty.c         |   33 
 hw/xfree86/os-support/shared/sigio.c             |  121 +
 hw/xfree86/os-support/shared/sigiostubs.c        |   23 
 hw/xfree86/os-support/solaris/sun_bell.c         |    4 
 hw/xfree86/os-support/xf86_OSlib.h               |   22 
 hw/xfree86/os-support/xf86_OSproc.h              |    4 
 hw/xfree86/parser/DRI.c                          |    2 
 hw/xfree86/parser/Device.c                       |    3 
 hw/xfree86/parser/Extensions.c                   |    2 
 hw/xfree86/parser/Files.c                        |    2 
 hw/xfree86/parser/Flags.c                        |    2 
 hw/xfree86/parser/Input.c                        |    3 
 hw/xfree86/parser/InputClass.c                   |   95 +
 hw/xfree86/parser/Layout.c                       |    4 
 hw/xfree86/parser/Module.c                       |    4 
 hw/xfree86/parser/Monitor.c                      |    8 
 hw/xfree86/parser/OutputClass.c                  |    3 
 hw/xfree86/parser/Pointer.c                      |    4 
 hw/xfree86/parser/Screen.c                       |    4 
 hw/xfree86/parser/Vendor.c                       |    4 
 hw/xfree86/parser/Video.c                        |    4 
 hw/xfree86/parser/configProcs.h                  |    6 
 hw/xfree86/parser/read.c                         |    2 
 hw/xfree86/parser/scan.c                         |   42 
 hw/xfree86/parser/write.c                        |   36 
 hw/xfree86/parser/xf86Parser.h                   |    2 
 hw/xfree86/parser/xf86tokens.h                   |   13 
 hw/xfree86/ramdac/xf86Cursor.c                   |   23 
 hw/xfree86/ramdac/xf86Cursor.h                   |    1 
 hw/xfree86/ramdac/xf86CursorPriv.h               |    1 
 hw/xfree86/ramdac/xf86HWCurs.c                   |  125 +
 hw/xfree86/sdksyms.sh                            |    1 
 hw/xfree86/utils/gtf/gtf.c                       |    2 
 hw/xfree86/vbe/vbe.c                             |    2 
 hw/xfree86/xorg-wrapper.c                        |    2 
 hw/xnest/Font.c                                  |    7 
 hw/xnest/Handlers.c                              |    4 
 hw/xnest/Handlers.h                              |    5 
 hw/xnest/Init.c                                  |   12 
 hw/xquartz/GL/glcontextmodes.c                   |    1 
 hw/xquartz/GL/indirect.c                         |   40 
 hw/xquartz/GL/visualConfigs.c                    |    1 
 hw/xquartz/X11Application.h                      |    3 
 hw/xquartz/X11Application.m                      |   64 -
 hw/xquartz/darwin.c                              |   18 
 hw/xquartz/darwinEvents.c                        |  125 -
 hw/xquartz/darwinXinput.c                        |   15 
 hw/xquartz/pbproxy/Makefile.am                   |    5 
 hw/xquartz/pbproxy/app-main.m                    |    3 
 hw/xquartz/pbproxy/main.m                        |   18 
 hw/xquartz/quartzCocoa.m                         |    8 
 hw/xquartz/quartzCommon.h                        |    5 
 hw/xquartz/quartzStartup.c                       |    9 
 hw/xwayland/.gitignore                           |    4 
 hw/xwayland/Makefile.am                          |   30 
 hw/xwayland/xwayland-cursor.c                    |   16 
 hw/xwayland/xwayland-glamor.c                    |   15 
 hw/xwayland/xwayland-input.c                     |  919 ++++++++++++--
 hw/xwayland/xwayland-output.c                    |   14 
 hw/xwayland/xwayland-shm.c                       |   56 
 hw/xwayland/xwayland.c                           |  176 ++
 hw/xwayland/xwayland.h                           |   53 
 hw/xwin/InitInput.c                              |   14 
 hw/xwin/InitOutput.c                             |  112 -
 hw/xwin/Makefile.am                              |   16 
 hw/xwin/dri/Makefile.am                          |    9 
 hw/xwin/dri/windowsdri.c                         |  274 ++++
 hw/xwin/dri/windowsdri.h                         |   30 
 hw/xwin/glx/Makefile.am                          |    7 
 hw/xwin/glx/dri_helpers.c                        |  120 +
 hw/xwin/glx/dri_helpers.h                        |   38 
 hw/xwin/glx/indirect.c                           |  494 +++----
 hw/xwin/glx/indirect.h                           |   95 +
 hw/xwin/glx/winpriv.c                            |    7 
 hw/xwin/glx/winpriv.h                            |    1 
 hw/xwin/man/XWin.man                             |   10 
 hw/xwin/win.h                                    |   39 
 hw/xwin/winallpriv.c                             |    7 
 hw/xwin/winauth.c                                |   25 
 hw/xwin/winblock.c                               |    5 
 hw/xwin/winconfig.c                              |    5 
 hw/xwin/wincreatewnd.c                           |    6 
 hw/xwin/winengine.c                              |    2 
 hw/xwin/winerror.c                               |    2 
 hw/xwin/winglobals.c                             |    1 
 hw/xwin/winglobals.h                             |    1 
 hw/xwin/winkeybd.c                               |    2 
 hw/xwin/winmsg.c                                 |   33 
 hw/xwin/winmsg.h                                 |   17 
 hw/xwin/winmultiwindowicons.c                    |  151 +-
 hw/xwin/winmultiwindowicons.h                    |    4 
 hw/xwin/winmultiwindowwindow.c                   |   56 
 hw/xwin/winmultiwindowwm.c                       | 1442 +++++++++++------------
 hw/xwin/winmultiwindowwndproc.c                  |    2 
 hw/xwin/winprefs.c                               |   30 
 hw/xwin/winprefs.h                               |    9 
 hw/xwin/winprocarg.c                             |   21 
 hw/xwin/winscrinit.c                             |   10 
 hw/xwin/winshadddnl.c                            |    6 
 hw/xwin/winshadgdi.c                             |   12 
 hw/xwin/wintaskbar.c                             |    2 
 hw/xwin/winvalargs.c                             |   19 
 hw/xwin/winwakeup.c                              |    3 
 hw/xwin/winwin32rootless.c                       |   68 -
 hw/xwin/winwin32rootlesswindow.c                 |   15 
 hw/xwin/winwin32rootlesswndproc.c                |  239 ---
 hw/xwin/winwindow.h                              |   26 
 hw/xwin/winwindowswm.c                           |    2 
 hw/xwin/winwndproc.c                             |   52 
 include/Makefile.am                              |    3 
 include/dix-config.h.in                          |   18 
 include/dix.h                                    |   34 
 include/dixfont.h                                |   18 
 include/dixfontstr.h                             |    1 
 include/dixfontstubs.h                           |   43 
 include/dixstruct.h                              |   41 
 include/eventstr.h                               |   10 
 include/globals.h                                |    2 
 include/input.h                                  |   25 
 include/inpututils.h                             |    4 
 include/misc.h                                   |    3 
 include/os.h                                     |   43 
 include/pixmap.h                                 |    3 
 include/privates.h                               |    3 
 include/property.h                               |    9 
 include/protocol-versions.h                      |    5 
 include/scrnintstr.h                             |   73 -
 include/xkbsrv.h                                 |    6 
 include/xorg-config.h.in                         |    6 
 include/xserver_poll.h                           |   55 
 m4/ax_pthread.m4                                 |  337 +++++
 mi/mieq.c                                        |  163 --
 mi/miglblt.c                                     |    6 
 mi/mipointer.c                                   |   48 
 mi/mipointer.h                                   |    6 
 mi/mipointrst.h                                  |   14 
 mi/misprite.c                                    |    8 
 miext/damage/damage.c                            |  125 +
 miext/rootless/rootlessScreen.c                  |    4 
 miext/shadow/shadow.c                            |   20 
 miext/shadow/shadow.h                            |    1 
 os/Makefile.am                                   |   10 
 os/WaitFor.c                                     |  434 ++----
 os/access.c                                      |   25 
 os/backtrace.c                                   |    2 
 os/connection.c                                  |  558 +++-----
 os/inputthread.c                                 |  551 ++++++++
 os/io.c                                          |  143 --
 os/osdep.h                                       |   71 -
 os/osinit.c                                      |   26 
 os/ospoll.c                                      |  477 +++++++
 os/ospoll.h                                      |  142 ++
 os/rpcauth.c                                     |    2 
 os/utils.c                                       |  161 --
 os/xdmauth.c                                     |    2 
 os/xdmcp.c                                       |  159 --
 os/xserver_poll.c                                |  277 ++++
 present/present.c                                |   18 
 present/present_event.c                          |   29 
 present/present_fake.c                           |    3 
 present/present_priv.h                           |    6 
 present/present_request.c                        |    2 
 present/present_screen.c                         |    6 
 randr/randr.c                                    |   56 
 randr/randrstr.h                                 |   25 
 randr/rrcrtc.c                                   |  279 +++-
 randr/rrmonitor.c                                |   17 
 randr/rroutput.c                                 |   10 
 randr/rrprovider.c                               |  107 +
 randr/rrscreen.c                                 |   15 
 render/animcur.c                                 |   57 
 render/render.c                                  |   13 
 test/.gitignore                                  |    2 
 test/Makefile.am                                 |   44 
 test/ddxstubs.c                                  |   16 
 test/os.c                                        |  166 --
 test/scripts/run-piglit.sh                       |   80 +
 test/scripts/xephyr-glamor-piglit.sh             |   16 
 test/scripts/xinit-piglit-session.sh             |   44 
 test/scripts/xvfb-piglit.sh                      |    7 
 test/simple-xinit.c                              |  229 +++
 test/touch.c                                     |   31 
 test/xi2/protocol-xiquerypointer.c               |    1 
 xfixes/cursor.c                                  |    1 
 xfixes/select.c                                  |    1 
 xfixes/xfixes.c                                  |   21 
 xkb/maprules.c                                   |    2 
 xkb/xkbAccessX.c                                 |   11 
 xkb/xkbActions.c                                 |  176 +-
 xkb/xkbInit.c                                    |    2 
 379 files changed, 12162 insertions(+), 13882 deletions(-)

New commits:
commit 7e5c9bdf73e4185ac4cf7f044da0793a5cc3e62c
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 15 08:12:05 2016 -0800

    Bump version to 1.19.0
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/configure.ac b/configure.ac
index 395df80..f7ab48c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.18.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2016-10-28"
-RELEASE_NAME="Shigoku"
+AC_INIT([xorg-server], 1.19.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2016-11-15"
+RELEASE_NAME="Cioppino"
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])

commit ea8efb3a997e15d27d362762e6c85d59487f9864
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Nov 2 13:25:33 2016 -0700

    dix: Make sure client is not in output_pending chain after closed (RH 1382444)
    
    I think it is possible that output could get queued to a client during
    CloseDownClient. After it is removed from the pending queue, active
    grabs are released, the client is awoken if sleeping and any work
    queue entries related to the client are processed.
    
    To fix this, move the call removing it from the output_pending chain
    until after clientGone has been set and then check clientGone in
    output_pending_mark.
    
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1382444
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

diff --git a/dix/dispatch.c b/dix/dispatch.c
index e111377..3d0fe26 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -3406,7 +3406,6 @@ CloseDownClient(ClientPtr client)
             UngrabServer(client);
         }
         mark_client_not_ready(client);
-        xorg_list_del(&client->output_pending);
         BITCLEAR(grabWaiters, client->index);
         DeleteClientFromAnySelections(client);
         ReleaseActiveGrabs(client);
@@ -3435,6 +3434,7 @@ CloseDownClient(ClientPtr client)
         if (ClientIsAsleep(client))
             ClientSignal(client);
         ProcessWorkQueueZombies();
+        output_pending_clear(client);
         CloseDownConnection(client);
 
         /* If the client made it to the Running stage, nClients has
diff --git a/include/dixstruct.h b/include/dixstruct.h
index 3b578f8..d71b0ac 100644
--- a/include/dixstruct.h
+++ b/include/dixstruct.h
@@ -159,7 +159,7 @@ extern struct xorg_list output_pending_clients;
 static inline void
 output_pending_mark(ClientPtr client)
 {
-    if (xorg_list_is_empty(&client->output_pending))
+    if (!client->clientGone && xorg_list_is_empty(&client->output_pending))
         xorg_list_append(&client->output_pending, &output_pending_clients);
 }
 

commit 7513da40a656317ad3aa101651d29373de99c798
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Wed Nov 2 17:18:11 2016 +0200

    dri2: Sync i965_pci_ids.h from mesa
    
    Import changes from these mesa commits:
    85ea8deb26da420 i965: Removing PCI IDs that are no longer listed as Kabylake.
    bdff2e554735ed9 i956: Add more Kabylake PCI IDs.
    f1fa8b4a1ca73fa i965/bxt: Add 2x6 variant
    d1ab544bb883d04 i965/chv: Display proper branding
    20e8ee36627f874 i965/skl: Update Skylake renderer strings
    644c8a515192d28 i965/skl: Add two missing device IDs
    
    Reviewed-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Timo Aaltonen <tjaalton@ubuntu.com>

diff --git a/hw/xfree86/dri2/pci_ids/i965_pci_ids.h b/hw/xfree86/dri2/pci_ids/i965_pci_ids.h
index 5139e27..1566afd 100644
--- a/hw/xfree86/dri2/pci_ids/i965_pci_ids.h
+++ b/hw/xfree86/dri2/pci_ids/i965_pci_ids.h
@@ -112,6 +112,7 @@ CHIPSET(0x162E, bdw_gt3, "Intel(R) Broadwell GT3")
 CHIPSET(0x1902, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)")
 CHIPSET(0x1906, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)")
 CHIPSET(0x190A, skl_gt1, "Intel(R) Skylake GT1")
+CHIPSET(0x190B, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)")
 CHIPSET(0x190E, skl_gt1, "Intel(R) Skylake GT1")
 CHIPSET(0x1912, skl_gt2, "Intel(R) HD Graphics 530 (Skylake GT2)")
 CHIPSET(0x1913, skl_gt2, "Intel(R) Skylake GT2f")
@@ -122,19 +123,21 @@ CHIPSET(0x191A, skl_gt2, "Intel(R) Skylake GT2")
 CHIPSET(0x191B, skl_gt2, "Intel(R) HD Graphics 530 (Skylake GT2)")
 CHIPSET(0x191D, skl_gt2, "Intel(R) HD Graphics P530 (Skylake GT2)")
 CHIPSET(0x191E, skl_gt2, "Intel(R) HD Graphics 515 (Skylake GT2)")
-CHIPSET(0x1921, skl_gt2, "Intel(R) Skylake GT2")
-CHIPSET(0x1923, skl_gt3, "Intel(R) Iris Graphics 540 (Skylake GT3e)")
-CHIPSET(0x1926, skl_gt3, "Intel(R) HD Graphics 535 (Skylake GT3)")
+CHIPSET(0x1921, skl_gt2, "Intel(R) HD Graphics 520 (Skylake GT2)")
+CHIPSET(0x1923, skl_gt3, "Intel(R) Skylake GT3e")
+CHIPSET(0x1926, skl_gt3, "Intel(R) Iris Graphics 540 (Skylake GT3e)")
 CHIPSET(0x1927, skl_gt3, "Intel(R) Iris Graphics 550 (Skylake GT3e)")
 CHIPSET(0x192A, skl_gt4, "Intel(R) Skylake GT4")
-CHIPSET(0x192B, skl_gt3, "Intel(R) Iris Graphics (Skylake GT3fe)")
-CHIPSET(0x1932, skl_gt4, "Intel(R) Skylake GT4")
-CHIPSET(0x193A, skl_gt4, "Intel(R) Skylake GT4")
-CHIPSET(0x193B, skl_gt4, "Intel(R) Skylake GT4")
-CHIPSET(0x193D, skl_gt4, "Intel(R) Skylake GT4")
+CHIPSET(0x192B, skl_gt3, "Intel(R) Iris Graphics 555 (Skylake GT3e)")
+CHIPSET(0x192D, skl_gt3, "Intel(R) Iris Graphics P555 (Skylake GT3e)")
+CHIPSET(0x1932, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)")
+CHIPSET(0x193A, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)")
+CHIPSET(0x193B, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)")
+CHIPSET(0x193D, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)")
 CHIPSET(0x5902, kbl_gt1, "Intel(R) Kabylake GT1")
 CHIPSET(0x5906, kbl_gt1, "Intel(R) Kabylake GT1")
 CHIPSET(0x590A, kbl_gt1, "Intel(R) Kabylake GT1")
+CHIPSET(0x5908, kbl_gt1, "Intel(R) Kabylake GT1")
 CHIPSET(0x590B, kbl_gt1, "Intel(R) Kabylake GT1")
 CHIPSET(0x590E, kbl_gt1, "Intel(R) Kabylake GT1")
 CHIPSET(0x5913, kbl_gt1_5, "Intel(R) Kabylake GT1.5")
@@ -147,17 +150,16 @@ CHIPSET(0x591B, kbl_gt2, "Intel(R) Kabylake GT2")
 CHIPSET(0x591D, kbl_gt2, "Intel(R) Kabylake GT2")
 CHIPSET(0x591E, kbl_gt2, "Intel(R) Kabylake GT2")
 CHIPSET(0x5921, kbl_gt2, "Intel(R) Kabylake GT2F")
+CHIPSET(0x5923, kbl_gt3, "Intel(R) Kabylake GT3")
 CHIPSET(0x5926, kbl_gt3, "Intel(R) Kabylake GT3")
-CHIPSET(0x592A, kbl_gt3, "Intel(R) Kabylake GT3")
-CHIPSET(0x592B, kbl_gt3, "Intel(R) Kabylake GT3")
-CHIPSET(0x5932, kbl_gt4, "Intel(R) Kabylake GT4")
-CHIPSET(0x593A, kbl_gt4, "Intel(R) Kabylake GT4")
+CHIPSET(0x5927, kbl_gt3, "Intel(R) Kabylake GT3")
 CHIPSET(0x593B, kbl_gt4, "Intel(R) Kabylake GT4")
-CHIPSET(0x593D, kbl_gt4, "Intel(R) Kabylake GT4")
-CHIPSET(0x22B0, chv,     "Intel(R) HD Graphics (Cherryview)")
-CHIPSET(0x22B1, chv,     "Intel(R) HD Graphics (Cherryview)")
+CHIPSET(0x22B0, chv,     "Intel(R) HD Graphics (Cherrytrail)")
+CHIPSET(0x22B1, chv,     "Intel(R) HD Graphics XXX (Braswell)") /* Overridden in brw_get_renderer_string */
 CHIPSET(0x22B2, chv,     "Intel(R) HD Graphics (Cherryview)")
 CHIPSET(0x22B3, chv,     "Intel(R) HD Graphics (Cherryview)")
 CHIPSET(0x0A84, bxt,     "Intel(R) HD Graphics (Broxton)")
 CHIPSET(0x1A84, bxt,     "Intel(R) HD Graphics (Broxton)")
+CHIPSET(0x1A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)")
 CHIPSET(0x5A84, bxt,     "Intel(R) HD Graphics (Broxton)")
+CHIPSET(0x5A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)")

commit 4cfee398726adf89db4b632ade7d6cab8b78282e
Author: Ian Ray <ian.ray@ge.com>
Date:   Wed May 25 10:41:53 2016 +0300

    xwayland-shm: block signals during fallocate
    
    posix_fallocate() does an explicit rollback if it gets EINTR, and
    this is a problem on slow systems because when the allocation size
    is sufficiently large posix_fallocate() will always be interrupted
    by the smart scheduler's SIGALRM.
    
    Changes since v1 - big comment in the code to explain what is going on
    
    Reviewed-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Ian Ray <ian.ray@ge.com>
    Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
    Acked-by: Daniel Stone <daniels@collabora.com>

diff --git a/hw/xwayland/xwayland-shm.c b/hw/xwayland/xwayland-shm.c
index daf6148..452d1f5 100644
--- a/hw/xwayland/xwayland-shm.c
+++ b/hw/xwayland/xwayland-shm.c
@@ -28,6 +28,8 @@
 #include <dix-config.h>
 #endif
 
+#include "os.h"
+
 #include "xwayland.h"
 
 #include <sys/mman.h>
@@ -139,9 +141,17 @@ os_create_anonymous_file(off_t size)
         return -1;
 
 #ifdef HAVE_POSIX_FALLOCATE
+    /*
+     * posix_fallocate does an explicit rollback if it gets EINTR.
+     * Temporarily block signals to allow the call to succeed on
+     * slow systems where the smart scheduler's SIGALRM prevents
+     * large allocation attempts from ever succeeding.
+     */
+    OsBlockSignals();
     do {
         ret = posix_fallocate(fd, 0, size);
     } while (ret == EINTR);
+    OsReleaseSignals();
 
     if (ret != 0) {
         close(fd);

commit 512e75a23b7f6339593c3ae6942f0c420a975fd3
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Oct 28 09:32:42 2016 -0700

    Bump to 1.18.99.902 (1.19 RC2)
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/configure.ac b/configure.ac
index 25168cc..395df80 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.18.99.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2016-09-19"
-RELEASE_NAME="Brown Turkey Fig"
+AC_INIT([xorg-server], 1.18.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2016-10-28"
+RELEASE_NAME="Shigoku"
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])

commit c85f81825e196e96337347e0ce3a538fb2e38f16
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Oct 28 09:28:32 2016 -0700

    dix: Bump MAXHASHSIZE for the resource db [v2]
    
    [This was originally a workaround for a client-side resource leak:
    
    http://lists.freedesktop.org/archives/xorg-devel/2012-November/034555.html
    
    Obviously that's a broken app, but the performance problem it
    illustrates - that walking the linked list ends up burning all your CPU
    time - is real enough. - ajax]
    
    v2: Replace with a shorter code sequence which computes the same
        results for all but numBits == 7
    
    Reviewed-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/dix/resource.c b/dix/resource.c
index 68efd24..b6ef99f 100644
--- a/dix/resource.c
+++ b/dix/resource.c
@@ -156,7 +156,7 @@ static void RebuildTable(int    /*client */
 
 #define INITBUCKETS 64
 #define INITHASHSIZE 6
-#define MAXHASHSIZE 11
+#define MAXHASHSIZE 16
 
 typedef struct _Resource {
     struct _Resource *next;
@@ -668,29 +668,14 @@ InitClientResources(ClientPtr client)
 int
 HashResourceID(XID id, int numBits)
 {
-    id &= RESOURCE_ID_MASK;
-    switch (numBits)
-    {
-        case 6:
-            return ((int)(0x03F & (id ^ (id>>6) ^ (id>>12))));
-        case 7:
-            return ((int)(0x07F & (id ^ (id>>7) ^ (id>>13))));
-        case 8:
-            return ((int)(0x0FF & (id ^ (id>>8) ^ (id>>16))));
-        case 9:
-            return ((int)(0x1FF & (id ^ (id>>9))));
-        case 10:
-            return ((int)(0x3FF & (id ^ (id>>10))));
-        case 11:
-            return ((int)(0x7FF & (id ^ (id>>11))));
-    }
-    if (numBits >= 11)
-        return ((int)(0x7FF & (id ^ (id>>11))));
-    else
-    {
-        assert(numBits >= 0);
-        return id & ~((~0) << numBits);
-    }
+    static XID mask;
+
+    if (!mask)
+        mask = RESOURCE_ID_MASK;
+    id &= mask;
+    if (numBits < 9)
+        return (id ^ (id >> numBits) ^ (id >> (numBits<<1))) & ~((~0) << numBits);
+    return (id ^ (id >> numBits)) & ~((~0) << numBits);
 }
 
 static XID

commit 9ed5b263542e5245317927828f0515db6c0a54c8
Author: Keith Packard <keithp@keithp.com>
Date:   Fri Oct 28 08:04:43 2016 -0700

    os: Recompute whether any clients are ready after ProcessWorkQueue() (bug 98030)
    
    If a work proc wakes up a sleeping client and it is ready to execute,
    we need to re-compute the local 'are_ready' value before deciding
    what timeout value to use in WaitForSomething.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98030
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

diff --git a/os/WaitFor.c b/os/WaitFor.c
index 7d5aa32..ff1c85e 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -204,8 +204,10 @@ WaitForSomething(Bool are_ready)
        crashed connections and the screen saver timeout */
     while (1) {
         /* deal with any blocked jobs */
-        if (workQueue)
+        if (workQueue) {
             ProcessWorkQueue();
+            are_ready = clients_are_ready();
+        }
 
         if (are_ready)
             timeout = 0;

commit 2c91f3235a4e1655e18cb014922529161051ffbb
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Oct 5 09:41:44 2016 -0700

    ephyr: Leave window unmapped for -glamor-skip-present [v2]
    
    If we're never painting anything in the window, we probably don't need
    to map it.
    
    v2: Drop ephyr_glamor_gles2 from hostx.c
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Eric Anholt <eric@anholt.net>

diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
index 887f654..fe69f84 100644
--- a/hw/kdrive/ephyr/hostx.c
+++ b/hw/kdrive/ephyr/hostx.c
@@ -95,6 +95,7 @@ char *ephyrResName = NULL;
 int ephyrResNameFromCmd = 0;
 char *ephyrTitle = NULL;
 Bool ephyr_glamor = FALSE;
+extern Bool ephyr_glamor_skip_present;
 
 Bool
 hostx_has_extension(xcb_extension_t *extension)
@@ -898,7 +899,10 @@ hostx_screen_init(KdScreenInfo *screen,
                                       &size_hints);
     }
 
-    xcb_map_window(HostX.conn, scrpriv->win);
+#ifdef GLAMOR
+    if (!ephyr_glamor_skip_present)
+#endif
+        xcb_map_window(HostX.conn, scrpriv->win);
 
     /* Set explicit window position if it was informed in
      * -screen option (WxH+X or WxH+X+Y). Otherwise, accept the

commit cba5a10fd93310702cad9dbe1e6d48da99f5552f
Author: Alex Goins <agoins@nvidia.com>
Date:   Wed Oct 26 11:03:49 2016 -0700

    ramdac: Check sPriv != NULL in xf86CheckHWCursor()
    
    xf86CheckHWCursor() would dereference sPriv without NULL checking it. If Option
    "SWCursor" is specified, sPriv == NULL. In this case we should assume that HW
    cursors are not supported.
    
    Signed-off-by: Alex Goins <agoins@nvidia.com>
    Reviewed-by: Andy Ritger <aritger@nvidia.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c
index da2b181..4481320 100644
--- a/hw/xfree86/ramdac/xf86HWCurs.c
+++ b/hw/xfree86/ramdac/xf86HWCurs.c
@@ -148,6 +148,10 @@ xf86CheckHWCursor(ScreenPtr pScreen, CursorPtr cursor, xf86CursorInfoPtr infoPtr
             continue;
 
         sPriv = dixLookupPrivate(&pSlave->devPrivates, xf86CursorScreenKey);
+        if (!sPriv) /* NULL if Option "SWCursor", possibly other conditions */
+            return FALSE;
+
+        /* FALSE if HWCursor not supported by slave */
         if (!xf86ScreenCheckHWCursor(pSlave, cursor, sPriv->CursorInfoPtr))
             return FALSE;
     }

commit 03d99ef729178dd99268f185fb45320a29382091
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Oct 6 22:13:07 2016 +0100

    glx/dri2: Don't build DRI loader if DRI2 isn't enabled
    
    This partially reverts 501d8e2b.
    
    Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
    Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

diff --git a/glx/Makefile.am b/glx/Makefile.am
index fc0b76a..699de63 100644
--- a/glx/Makefile.am
+++ b/glx/Makefile.am
@@ -1,4 +1,8 @@
-noinst_LTLIBRARIES = libglx.la libglxdri.la
+if DRI2
+GLXDRI_LIBRARY = libglxdri.la
+endif
+
+noinst_LTLIBRARIES = libglx.la $(GLXDRI_LIBRARY)
 
 AM_CFLAGS = \
 	@DIX_CFLAGS@ \
@@ -16,11 +20,10 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/hw/xfree86/os-support/bus \
 	-I$(top_srcdir)/hw/xfree86/common \
 	-I$(top_srcdir)/hw/xfree86/dri \
+	-I$(top_srcdir)/hw/xfree86/dri2 \
 	-I$(top_srcdir)/mi \
 	-I$(top_srcdir)/present
 
-AM_CPPFLAGS += -I$(top_srcdir)/hw/xfree86/dri2
-
 indirect_sources =				\
 	indirect_dispatch.c			\
 	indirect_dispatch.h			\
@@ -33,7 +36,9 @@ indirect_sources =				\
 	indirect_table.c
 
 libglxdri_la_SOURCES =
+if DRI2
 libglxdri_la_SOURCES += glxdri2.c
+endif
 
 libglxdri_la_LIBADD = $(DLOPEN_LIBS)
 
diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
index be43e8f..d534c78 100644
--- a/hw/xfree86/dixmods/Makefile.am
+++ b/hw/xfree86/dixmods/Makefile.am
@@ -29,10 +29,12 @@ libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
 
 libglx_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
 libglx_la_LIBADD = $(top_builddir)/glx/libglx.la $(GLX_SYS_LIBS)
+if DRI2
 libglx_la_LIBADD += $(top_builddir)/glx/libglxdri.la
 if NO_UNDEFINED
 libglx_la_LIBADD += $(LIBDRM_LIBS) $(PIXMAN_LIBS)
 endif
+endif
 libglx_la_SOURCES = glxmodule.c
 
 libshadow_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)

commit 5cb328338684d8e5b03913c47475bfcd7acffec4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 26 12:21:16 2016 +0200

    inputthread: On Linux leave the main thread's name as-is
    
    On Linux, setting the main thread's name changes the program name
    (/proc/self/comm). Setting it to MainThread breaks scripts that rely on
    the command name, e.g. ps -C Xorg.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

diff --git a/os/inputthread.c b/os/inputthread.c
index ddafa7f..8e7f2ed 100644
--- a/os/inputthread.c
+++ b/os/inputthread.c
@@ -431,11 +431,13 @@ InputThreadPreInit(void)
     }
     hotplugPipeWrite = hotplugPipe[1];
 
+#ifndef __linux__ /* Linux does not deal well with renaming the main thread */
 #if defined(HAVE_PTHREAD_SETNAME_NP_WITH_TID)
     pthread_setname_np (pthread_self(), "MainThread");
 #elif defined(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID)
     pthread_setname_np ("MainThread");
 #endif
+#endif
 
 }
 

commit 007f8ee61a35ceda36b43e772a9a1074b8e27a06
Author: Olivier Fourdan <ofourdan@redhat.com>
Date:   Fri Oct 21 10:11:45 2016 +0200

    xwayland: Activate and enable touch devices
    
    On some random condition, a touch event may trigger a crash in Xwayland
    in GetTouchEvents().
    
    The (simplified) backtrace goes as follow:
    
     (gdb) bt
     #0  GetTouchEvents() at getevents.c:1892
     #1  QueueTouchEvents() at getevents.c:1866
     #2  xwl_touch_send_event() at xwayland-input.c:652
     #5  wl_closure_invoke() from libwayland-client.so.0
     #6  dispatch_event() from libwayland-client.so.0
     #7  wl_display_dispatch_queue_pending() from libwayland-client.so.0
     #8  xwl_read_events() at xwayland.c:483
     #9  ospoll_wait() at ospoll.c:412
     #10 WaitForSomething() at WaitFor.c:222
     #11 Dispatch() at dispatch.c:412
     #12 dix_main() at main.c:287
     #13 __libc_start_main() at libc-start.c:289
     #14 _start ()
    
    The crash occurs when trying to access the sprite associated with the
    touch device, which appears to be NULL. Reason being the device itself
    is more a keyboard device than a touch device.
    
    Moreover, it appears the device is neither enabled nor activated
    (inited=0, enabled=0) which doesn't seem right, but matches the code in
    init_touch() from xwayland-input.c which would enable the device if it
    was previously existing and otherwise would create the device but not
    activate it.
    
    Make sure we do activate and enable touch devices just like we do for
    other input devices such as keyboard and pointer.
    
    Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 1991076..7ec3b1a 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -1059,12 +1059,13 @@ init_touch(struct xwl_seat *xwl_seat)
     wl_touch_add_listener(xwl_seat->wl_touch,
                           &touch_listener, xwl_seat);
 
-    if (xwl_seat->touch)
-        EnableDevice(xwl_seat->touch, TRUE);
-    else {
+    if (xwl_seat->touch == NULL) {
         xwl_seat->touch =
             add_device(xwl_seat, "xwayland-touch", xwl_touch_proc);
+        ActivateDevice(xwl_seat->touch, TRUE);
     }
+    EnableDevice(xwl_seat->touch, TRUE);
+
 }
 
 static void

commit f68ba7b81ffe765380664fccc92f3e689c6c48c2
Author: Rui Matos <tiagomatos@gmail.com>
Date:   Tue Oct 25 19:24:49 2016 +0200

    xwayland: Transform pointer enter event coordinates
    
    Pointer enter event coordinates are surface relative and we need them to
    be screen relative for pScreen->SetCursorPosition().
    
    https://bugzilla.gnome.org/show_bug.cgi?id=758283
    
    Signed-off-by: Rui Matos <tiagomatos@gmail.com>
    Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
    Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 4d447a5..1991076 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -298,6 +298,7 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer,
     int i;
     int sx = wl_fixed_to_int(sx_w);
     int sy = wl_fixed_to_int(sy_w);
+    int dx, dy;
     ScreenPtr pScreen = xwl_seat->xwl_screen->screen;
     ValuatorMask mask;
 
@@ -314,9 +315,11 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer,
     xwl_seat->pointer_enter_serial = serial;
 
     xwl_seat->focus_window = wl_surface_get_user_data(surface);
+    dx = xwl_seat->focus_window->window->drawable.x;
+    dy = xwl_seat->focus_window->window->drawable.y;
 
     master = GetMaster(dev, POINTER_OR_FLOAT);
-    (*pScreen->SetCursorPosition) (dev, pScreen, sx, sy, TRUE);
+    (*pScreen->SetCursorPosition) (dev, pScreen, dx + sx, dy + sy, TRUE);
 
     miPointerInvalidateSprite(master);
 

commit f5c6d751d08c6de77c2ca49ba2a48f8023758cef
Author: Nikhil Mahale <nmahale@nvidia.com>
Date:   Sat Oct 22 17:40:51 2016 +0530


Reply to: