From jeremyhu at apple.com Thu Jul 20 01:12:31 2017 From: jeremyhu at apple.com (Jeremy Huddleston Sequoia) Date: Thu, 20 Jul 2017 01:12:31 -0700 Subject: [Xquartz-changes] [XQuartz/xorg-server] 28d885: xfree86: use the right option traversal list to se... Message-ID: <597065ef25d68_4b123f8ddb63bc28409d6@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/XQuartz/xorg-server Commit: 28d8855cd4e3be8831fb1c17bf1d205bd8465d1e https://github.com/XQuartz/xorg-server/commit/28d8855cd4e3be8831fb1c17bf1d205bd8465d1e Author: Peter Hutterer Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xfree86/common/xf86Xinput.c Log Message: ----------- xfree86: use the right option traversal list to search for an option They're identically laid-out structs but let's use the right type to search for our desired value. Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede Commit: 8fcf2fa78f09257933b17e7dc9a03a2034e3076f https://github.com/XQuartz/xorg-server/commit/8fcf2fa78f09257933b17e7dc9a03a2034e3076f Author: Peter Hutterer Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xfree86/common/xf86Xinput.c Log Message: ----------- xfree86: swap the list of paused devices to an xorg_list No functional changes but it makes it easier to remove elements from the middle of the list (future patch). We don't have an init call into this file, so the list is manually initialized. Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede Commit: d13cb974426f7f1110b0bdb08c4ebb46ff8975f7 https://github.com/XQuartz/xorg-server/commit/d13cb974426f7f1110b0bdb08c4ebb46ff8975f7 Author: Peter Hutterer Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M Xi/stubs.c M config/config.c M hw/dmx/dmxinput.c M hw/kdrive/src/kinput.c M hw/xfree86/common/xf86Xinput.c M hw/xquartz/darwinXinput.c M include/input.h Log Message: ----------- ddx: add new call to purge input devices that weren't added Special case for the systemd-logind case in xfree86: when we're vt-switched away and a device is plugged in, we get a paused fd from logind. Since we can't probe the device or do anything with it, we store that device in the xfree86 and handle it later when we vt-switch back. The device is not added to inputInfo.devices until that time. When the device is removed while still vt-switched away, the the config system never notifies the DDX. It only runs through inputInfo.devices and our device was never added to that. When a device is plugged in, removed, and plugged in again while vt-switched away, we have two entries in the xfree86-specific list that refer to the same device node, both pending for addition later. On VT switch back, the first one (the already removed one) will be added successfully, the second one (the still plugged-in one) fails. Since the fd is correct, the device works until it is removed again. The removed devices' config_info (i.e. the syspath) doesn't match the actual device we addded tough (the input number increases with each plug), it doesn't get removed, the fd remains open and we lose track of the fd count. Plugging the device in again leads to a dead device. Fix this by adding a call to notify the DDX to purge any remainders of devices with the given config_info, that's the only identifiable bit we have at this point. https://bugs.freedesktop.org/show_bug.cgi?id=97928 Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede Commit: 8fee6a917b6468e1b116d922f86484498874fb5c https://github.com/XQuartz/xorg-server/commit/8fee6a917b6468e1b116d922f86484498874fb5c Author: Mihail Konev Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M configure.ac Log Message: ----------- xwin: make glx optional again Commit 501d8e2b removed --enable-aiglx, but made xwin always be --enable-glx. Signed-off-by: Mihail Konev Reviewed-by: Emil Velikov Reviewed-by: Jon Turney Signed-off-by: Hans de Goede Commit: f6ff2e974c5de3071c899eba828789f1d4d8645a https://github.com/XQuartz/xorg-server/commit/f6ff2e974c5de3071c899eba828789f1d4d8645a Author: Mihail Konev Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xfree86/drivers/modesetting/driver.c Log Message: ----------- modesetting: fix glamor ifdef Add a missing ifdef needed for --disable-glamor. Signed-off-by: Mihail Konev Reviewed-by: Jon Turney Signed-off-by: Hans de Goede Commit: 7d91063aca4e4d326c294e246bc2dc36cb05318e https://github.com/XQuartz/xorg-server/commit/7d91063aca4e4d326c294e246bc2dc36cb05318e Author: Michel Dänzer Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h Log Message: ----------- DRI2: Sync radeonsi_pci_ids.h from Mesa Fixes DRI2 client driver name mapping for newer AMD GPUs with the modesetting driver, allowing the DRI2 extension to initialize. Signed-off-by: Michel Dänzer Reviewed-by: Alex Deucher Signed-off-by: Hans de Goede Commit: 4aaeeda4774397dd6d80aa240ca623ae795ec5dc https://github.com/XQuartz/xorg-server/commit/4aaeeda4774397dd6d80aa240ca623ae795ec5dc Author: Hans de Goede Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xfree86/xorg-wrapper.c Log Message: ----------- xfree86: Xorg.wrap: Do not require root rights for cards with 0 outputs Prior to this commit the Xorg.wrap code to detect if root rights are necessary checked for DRM_IOCTL_MODE_GETRESOURCES succeeding *and* reporting more then 0 output connectors. DRM_IOCTL_MODE_GETRESOURCES succeeding alone is enough to differentiate between old drm only cards (which need ums and thus root) and kms capable cards. Some hybrid gfx laptops have 0 output connectors on one of their 2 GPUs, resulting in Xorg needlessly running as root. This commits removes the res.count_connectors > 0 check, fixing this. Signed-off-by: Hans de Goede Reviewed-by: Eric Engestrom Commit: f5c6d751d08c6de77c2ca49ba2a48f8023758cef https://github.com/XQuartz/xorg-server/commit/f5c6d751d08c6de77c2ca49ba2a48f8023758cef Author: Nikhil Mahale Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c Log Message: ----------- modesetting: unifdef MODESETTING_OUTPUT_SLAVE_SUPPORT Commit c7e8d4a6ee9542f56cd241cf7a960fb8223a6b22 had already unifdef MODESETTING_OUTPUT_SLAVE_SUPPORT but commit 9257b1252da9092ddc676fec9aabe2b33dfad272 didn't notice that. Signed-off-by: Nikhil Mahale Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede Commit: f68ba7b81ffe765380664fccc92f3e689c6c48c2 https://github.com/XQuartz/xorg-server/commit/f68ba7b81ffe765380664fccc92f3e689c6c48c2 Author: Rui Matos Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- 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 Reviewed-by: Eric Engestrom Reviewed-by: Jonas Ådahl Signed-off-by: Hans de Goede Commit: 007f8ee61a35ceda36b43e772a9a1074b8e27a06 https://github.com/XQuartz/xorg-server/commit/007f8ee61a35ceda36b43e772a9a1074b8e27a06 Author: Olivier Fourdan Date: 2016-10-26 (Wed, 26 Oct 2016) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- 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 Reviewed-by: Hans de Goede Commit: 5cb328338684d8e5b03913c47475bfcd7acffec4 https://github.com/XQuartz/xorg-server/commit/5cb328338684d8e5b03913c47475bfcd7acffec4 Author: Peter Hutterer Date: 2016-10-27 (Thu, 27 Oct 2016) Changed paths: M os/inputthread.c Log Message: ----------- 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 Signed-off-by: Hans de Goede Commit: 03d99ef729178dd99268f185fb45320a29382091 https://github.com/XQuartz/xorg-server/commit/03d99ef729178dd99268f185fb45320a29382091 Author: Jon Turney Date: 2016-10-27 (Thu, 27 Oct 2016) Changed paths: M glx/Makefile.am M hw/xfree86/dixmods/Makefile.am Log Message: ----------- glx/dri2: Don't build DRI loader if DRI2 isn't enabled This partially reverts 501d8e2b. Signed-off-by: Jon Turney Reviewed-by: Emil Velikov Commit: cba5a10fd93310702cad9dbe1e6d48da99f5552f https://github.com/XQuartz/xorg-server/commit/cba5a10fd93310702cad9dbe1e6d48da99f5552f Author: Alex Goins Date: 2016-10-28 (Fri, 28 Oct 2016) Changed paths: M hw/xfree86/ramdac/xf86HWCurs.c Log Message: ----------- 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 Reviewed-by: Andy Ritger Signed-off-by: Keith Packard Commit: 2c91f3235a4e1655e18cb014922529161051ffbb https://github.com/XQuartz/xorg-server/commit/2c91f3235a4e1655e18cb014922529161051ffbb Author: Keith Packard Date: 2016-10-28 (Fri, 28 Oct 2016) Changed paths: M hw/kdrive/ephyr/hostx.c Log Message: ----------- 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 Reviewed-by: Eric Anholt Commit: 9ed5b263542e5245317927828f0515db6c0a54c8 https://github.com/XQuartz/xorg-server/commit/9ed5b263542e5245317927828f0515db6c0a54c8 Author: Keith Packard Date: 2016-10-28 (Fri, 28 Oct 2016) Changed paths: M os/WaitFor.c Log Message: ----------- 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 Reviewed-by: Hans de Goede Commit: 356db2340f5b473a7191c7969586ca5b0396c48f https://github.com/XQuartz/xorg-server/commit/356db2340f5b473a7191c7969586ca5b0396c48f Author: Keith Packard Date: 2016-10-28 (Fri, 28 Oct 2016) Changed paths: M glx/Makefile.am M hw/xfree86/dixmods/Makefile.am Log Message: ----------- Merge remote-tracking branch 'jturney/master' Commit: c85f81825e196e96337347e0ce3a538fb2e38f16 https://github.com/XQuartz/xorg-server/commit/c85f81825e196e96337347e0ce3a538fb2e38f16 Author: Keith Packard Date: 2016-10-28 (Fri, 28 Oct 2016) Changed paths: M dix/resource.c Log Message: ----------- 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 Signed-off-by: Keith Packard Commit: 512e75a23b7f6339593c3ae6942f0c420a975fd3 https://github.com/XQuartz/xorg-server/commit/512e75a23b7f6339593c3ae6942f0c420a975fd3 Author: Keith Packard Date: 2016-10-28 (Fri, 28 Oct 2016) Changed paths: M configure.ac Log Message: ----------- Bump to 1.18.99.902 (1.19 RC2) Signed-off-by: Keith Packard Commit: 4cfee398726adf89db4b632ade7d6cab8b78282e https://github.com/XQuartz/xorg-server/commit/4cfee398726adf89db4b632ade7d6cab8b78282e Author: Ian Ray Date: 2016-11-01 (Tue, 01 Nov 2016) Changed paths: M hw/xwayland/xwayland-shm.c Log Message: ----------- 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 Signed-off-by: Ian Ray Acked-by: Pekka Paalanen Acked-by: Daniel Stone Commit: 7513da40a656317ad3aa101651d29373de99c798 https://github.com/XQuartz/xorg-server/commit/7513da40a656317ad3aa101651d29373de99c798 Author: Timo Aaltonen Date: 2016-11-02 (Wed, 02 Nov 2016) Changed paths: M hw/xfree86/dri2/pci_ids/i965_pci_ids.h Log Message: ----------- 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 Signed-off-by: Timo Aaltonen Commit: ea8efb3a997e15d27d362762e6c85d59487f9864 https://github.com/XQuartz/xorg-server/commit/ea8efb3a997e15d27d362762e6c85d59487f9864 Author: Keith Packard Date: 2016-11-15 (Tue, 15 Nov 2016) Changed paths: M dix/dispatch.c M include/dixstruct.h Log Message: ----------- 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 Reviewed-by: Hans de Goede Commit: 7e5c9bdf73e4185ac4cf7f044da0793a5cc3e62c https://github.com/XQuartz/xorg-server/commit/7e5c9bdf73e4185ac4cf7f044da0793a5cc3e62c Author: Keith Packard Date: 2016-11-15 (Tue, 15 Nov 2016) Changed paths: M configure.ac Log Message: ----------- Bump version to 1.19.0 Signed-off-by: Keith Packard Commit: 45af7fcb522464922831005d63cc362dc09f19a9 https://github.com/XQuartz/xorg-server/commit/45af7fcb522464922831005d63cc362dc09f19a9 Author: Olivier Fourdan Date: 2016-11-18 (Fri, 18 Nov 2016) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Remove MIPOINTER() definition Not needed anymore now that mipointer exposes an API for that, miPointerInvalidateSprite() Signed-off-by: Olivier Fourdan Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: f0f8d5bb535814d5803df541b0ef4cb0354fabbe https://github.com/XQuartz/xorg-server/commit/f0f8d5bb535814d5803df541b0ef4cb0354fabbe Author: Keith Packard Date: 2016-11-18 (Fri, 18 Nov 2016) Changed paths: M configure.ac Log Message: ----------- Bump to post-1.19 development version Signed-off-by: Keith Packard Commit: cf8860786c3e301486cd2853bc82977ba75e6b17 https://github.com/XQuartz/xorg-server/commit/cf8860786c3e301486cd2853bc82977ba75e6b17 Author: Rhys Kidd Date: 2016-11-19 (Sat, 19 Nov 2016) Changed paths: M test/Makefile.am Log Message: ----------- test: Fix stray Makefile reference to removed os test Fixes the following warning: test/Makefile.am:69: warning: variable 'os_LDADD' is defined but no program or test/Makefile.am:69: library has 'os' as canonical name (possible typo) Introduced upon the removal of test/os in: commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 Author: Keith Packard Date: Tue Dec 8 14:39:46 2015 -0800 Remove SIGIO support for input [v5] This removes all of the SIGIO handling support used for input throughout the X server, preparing the way for using threads for input handling instead. Places calling OsBlockSIGIO and OsReleaseSIGIO are marked with calls to stub functions input_lock/input_unlock so that we don't lose this information. xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO and OsReleaseSIGIO. v2: Don't change locking order (Peter Hutterer) v3: Comment weird && FALSE in xf86Helper.c Leave errno save/restore in xf86ReadInput Squash with stub adding patch (Peter Hutterer) v4: Leave UseSIGIO config parameter so that existing config files don't break (Peter Hutterer) v5: Split a couple of independent patch bits out of kinput.c (Peter Hutterer) Signed-off-by: Keith Packard Reviewed-by: Peter Hutterer Signed-off-by: Rhys Kidd Reviewed-by: Keith Packard Signed-off-by: Peter Hutterer Commit: 2de37eb71b928f6f50c109536c2f7b77293ad8e3 https://github.com/XQuartz/xorg-server/commit/2de37eb71b928f6f50c109536c2f7b77293ad8e3 Author: Pekka Paalanen Date: 2016-11-25 (Fri, 25 Nov 2016) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland-output.c M hw/xwayland/xwayland.c Log Message: ----------- xwayland: fix order of calloc() args The definition by the manual is: calloc(size_t nmemb, size_t size) Swap the arguments of calloc() calls to be the right way around. Presumably this makes no functional difference, but better follow the spec. Signed-off-by: Pekka Paalanen Signed-off-by: Peter Hutterer Commit: 5611585b87ce48428a66f98ece319a083f55d205 https://github.com/XQuartz/xorg-server/commit/5611585b87ce48428a66f98ece319a083f55d205 Author: Rui Matos Date: 2016-11-29 (Tue, 29 Nov 2016) Changed paths: M Xi/exevents.c M dix/getevents.c M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Don't send KeyRelease events on wl_keyboard::leave Commits 816015648ffe660ddaa0f7d4d192e555b723c372 and fee0827a9a695600765f3d04376fc9babe497401 made it so that wl_keyboard::enter doesn't result in X clients getting KeyPress events while still updating our internal xkb state to be in sync with the host compositor. wl_keyboard::leave needs to be handled in the same way as its semantics from an X client POV should be the same as an X grab getting triggered, i.e. X clients shouldn't get KeyRelease events for keys that are still down at that point. This patch uses LeaveNotify for these events on wl_keyboard::leave and changes the current use of KeymapNotify to EnterNotify instead just to keep some symmetry between both cases. On ProcessDeviceEvent() we still need to deactivate X grabs if needed for KeyReleases. Signed-off-by: Rui Matos Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: d6a6e1d6abb110ff00ad31b94cd29d92ca7c71a5 https://github.com/XQuartz/xorg-server/commit/d6a6e1d6abb110ff00ad31b94cd29d92ca7c71a5 Author: Peter Hutterer Date: 2016-11-30 (Wed, 30 Nov 2016) Changed paths: M Xi/xichangehierarchy.c Log Message: ----------- Xi: when creating a new master device, update barries for all clients The previous code only worked when the barrier was created by the same client as the one calling XIChangeDeviceHierarchy. http://bugzilla.redhat.com/show_bug.cgi?id=1384432 Signed-off-by: Peter Hutterer Reviewed-by: Daniel Stone Commit: f43207c1c4a8487600cf3ea116c10437417c861b https://github.com/XQuartz/xorg-server/commit/f43207c1c4a8487600cf3ea116c10437417c861b Author: Olivier Fourdan Date: 2016-11-30 (Wed, 30 Nov 2016) Changed paths: M glamor/glamor.c Log Message: ----------- glamor: restore vfunc handlers on init failure In glamor_init(), if the minimum requirements are not met, glamor may fail after setting up its own CloseScreen() and DestroyPixmap() routines, leading to a crash when either of the two routines is called if glamor failed to complete its initialization, e.g: (EE) Backtrace: (EE) 0: Xwayland (OsSigHandler+0x29) (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) (EE) 2: Xwayland (glamor_sync_close+0x2a) (EE) 3: Xwayland (glamor_close_screen+0x52) (EE) 4: Xwayland (CursorCloseScreen+0x88) (EE) 5: Xwayland (AnimCurCloseScreen+0xa4) (EE) 6: Xwayland (present_close_screen+0x42) (EE) 7: Xwayland (dix_main+0x4f9) (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf1) (EE) 9: Xwayland (_start+0x2a) Restore the previous CloseScreen() and DestroyPixmap() vfunc handlers in case of failure when checking for the minimum requirements, so that if any of the requirement is not met we don't leave the CloseScreen() and DestroyPixmap() from glamor handlers in place. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1390018 Signed-off-by: Olivier Fourdan Reviewed-by: Hans de Goede Reviewed-by: Eric Anholt Commit: 59ad0e6a416d8e23f9d962af67a16ee28ec7867b https://github.com/XQuartz/xorg-server/commit/59ad0e6a416d8e23f9d962af67a16ee28ec7867b Author: Olivier Fourdan Date: 2016-11-30 (Wed, 30 Nov 2016) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Fix use after free of cursors Sometimes, Xwayland will try to use a cursor that has just been freed, leading to a crash when trying to access that cursor data either in miPointerUpdateSprite() or AnimCurTimerNotify(). CheckMotion() updates the pointer's cursor based on which xwindow XYToWindow() returns, and Xwayland implements its own xwl_xy_to_window() to fake a crossing to the root window when the pointer has left the Wayland surface but is still within the xwindow. But after an xwindow is unrealized, the last xwindow used to match the xwindows is cleared so two consecutive calls to xwl_xy_to_window() may not return the same xwindow. To avoid this issue, update the last_xwindow based on enter and leave notifications instead of xwl_xy_to_window(), and check if the xwindow found by the regular miXYToWindow() is a child of the known last xwindow, so that multiple consecutive calls to xwl_xy_to_window() return the same xwindow, being either the one found by miXYToWindow() or the root window. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1385258 Signed-off-by: Olivier Fourdan Tested-by: Vít Ondruch Tested-by: Satish Balay Reviewed-by: Jonas Ådahl Commit: e1d30075c923f96a375895d74ea12a3c92a640c6 https://github.com/XQuartz/xorg-server/commit/e1d30075c923f96a375895d74ea12a3c92a640c6 Author: Adam Jackson Date: 2016-11-30 (Wed, 30 Nov 2016) Changed paths: M configure.ac Log Message: ----------- configure: Enable glamor when building just Xwayland Signed-off-by: Adam Jackson Acked-by: Daniel Stone Reviewed-by: Pekka Paalanen Tested-by: Pekka Paalanen Reviewed-by: Eric Anholt Commit: 3b624aa9a9df86dc7d48149e0f18ca223b4355f1 https://github.com/XQuartz/xorg-server/commit/3b624aa9a9df86dc7d48149e0f18ca223b4355f1 Author: Hans de Goede Date: 2016-12-05 (Mon, 05 Dec 2016) Changed paths: M randr/rrcrtc.c Log Message: ----------- randr: rrCheckPixmapBounding: Do not substract crtc non 0 x,y from screen size The purpose of rrCheckPixmapBounding is to make sure that the screen_pixmap is large enough for the slave-output which crtc is being configured. This should include crtc->x and crtc->y, otherwise the crtc might still end up scanning out an area outside of the screen-pixmap. For example: Take a laptop with an external monitor on a slave-output at 1920x1080+0+0 and its internal-screen at 3840x2160+1920+0 and in gnome-settings-daemon move the external monitor to be on the ri ght of the internal screen rather then on the left. First g-s-d will do a RRSetScreenSize to 5760*2160 (which is a nop), then it calls RRSetCrtc to move the slave output to 1920x1080+3840+0, since this is a slave output, rrCheckPixmapBounding gets called, since the 2 crtcs now overlap the code before this commit would shrinks the screen_pixmap to 3180*2160. Then g-s-d calls RRSetCrtc to move the internal screen to 3180*2160+0+0. And we end up with the slave-output configured to scan-out an area which completely falls outside of the screen-pixmap (and end up with a black display on the external monitor). This commit fixes this by not substracting the x1 and y1 coordinates of the union-ed region when determining the new screen_pixmap size. Cc: Nikhil Mahale Cc: Dave Airlie Signed-off-by: Hans de Goede Reviewed-by: Dave Airlie Commit: a46afee84d45fbff4e4dad9376afc95bbcc31d7c https://github.com/XQuartz/xorg-server/commit/a46afee84d45fbff4e4dad9376afc95bbcc31d7c Author: Hans de Goede Date: 2016-12-05 (Mon, 05 Dec 2016) Changed paths: M randr/rrcrtc.c Log Message: ----------- randr: rrCheckPixmapBounding: do not shrink the screen_pixmap The purpose of rrCheckPixmapBounding is to make sure that the screen_pixmap is *large* enough for the slave-output which crtc is being configured. However until now rrCheckPixmapBounding would also shrink the screen_pixmap in certain scenarios leading to various problems. For example: Take a laptop with its internalscreen on a slave-output and currently disabled and an external monitor at 1920x1080+0+0. Now lets say that we want to drive the external monitor at its native resolution of 2560x1440 and have the internal screen mirror the top left part of the external monitor, so we run: $ xrandr --output eDP --mode 1920x1080 --pos 0x0 --output HDMI \ --mode 2560x1440 --pos 0x0 Here xrandr utility first calls RRSetScreenSize to 2560x1440, then it calls RRSetCrtc 1920x1080+0+0 on the eDP, since this is a slave output, rrCheckPixmapBounding gets called and resizes the screen_pixmap to 1920x1080, undoing the RRSetScreenSize. Then RRSetCrtc 2560x1440+0+0 gets called on the HDMI, depending on crtc->transforms this will either result in a BadValue error from ProcRRSetCrtcConfig; or it will succeed, but the monitor ends up running at 2560x1440 while showing a 1920x1080 screen_pixmap + black borders on the right and bottom. Neither of which is what we want. This commit removes the troublesome shrinking behavior, fixing this. Note: 1) One could argue that this will leave us with a too large screen_pixmap in some cases, but rrCheckPixmapBounding only gets called for slave outputs, so xrandr clients already must manually shrink the screen_pixmap after disabling crtcs in normal setups. 2) An alternative approach would be to also call rrCheckPixmapBounding on RRSetCrtc on normal (non-slave) outputs, but that would result in 2 unnecessary resizes of the screen_pixmap in the above example, which seems undesirable. Cc: Nikhil Mahale Cc: Dave Airlie Signed-off-by: Hans de Goede Reviewed-by: Dave Airlie Commit: b72d161cad15bec9dd082d30521c5383be526c56 https://github.com/XQuartz/xorg-server/commit/b72d161cad15bec9dd082d30521c5383be526c56 Author: Hans de Goede Date: 2016-12-05 (Mon, 05 Dec 2016) Changed paths: M hw/xfree86/common/xf86Bus.c Log Message: ----------- xfree86: Remove redundant ServerIsNotSeat0 check from xf86CallDriverProbe If foundScreen is TRUE, then all the code below the removed if will not execute until we reach the return foundScreen; at the end, so this entire if block is redundant. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: 7121b03d324fccf687d49b63c53da7c8d93038c9 https://github.com/XQuartz/xorg-server/commit/7121b03d324fccf687d49b63c53da7c8d93038c9 Author: Hans de Goede Date: 2016-12-05 (Mon, 05 Dec 2016) Changed paths: M hw/xfree86/common/xf86Bus.c M hw/xfree86/common/xf86platformBus.c M hw/xfree86/common/xf86platformBus.h Log Message: ----------- xfree86: Make adding unclaimed devices as GPU devices a separate step This is primarily a preparation patch for fixing the xserver exiting with a "no screens found" error even though there are supported video cards, due to the server not recognizing any card as the primary card. This also fixes the (mostly theoretical) case of a platformBus capable driver adding a device as GPUscreen before a driver which only supports the old PCI probe method gets a chance to claim it as a normal screen. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: 75c4f6e412e07c5d416fa9ad8d7defd972d2baa9 https://github.com/XQuartz/xorg-server/commit/75c4f6e412e07c5d416fa9ad8d7defd972d2baa9 Author: Hans de Goede Date: 2016-12-05 (Mon, 05 Dec 2016) Changed paths: M hw/xfree86/common/xf86.h M hw/xfree86/common/xf86Bus.c M hw/xfree86/common/xf86Globals.c M hw/xfree86/common/xf86pciBus.c M hw/xfree86/common/xf86platformBus.c Log Message: ----------- xfree86: Try harder to find atleast 1 non GPU Screen If we did not find any non GPU Screens, try again ignoring the notion of any video devices being the primary device. This fixes Xorg exiting with a "no screens found" error when using virtio-vga in a virtual-machine and when using a device driven by simpledrm. This is a somewhat ugly solution, but it is the best I can come up with without major surgery to the bus and probe code. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: f31875510d818ba517f082e124adb294db906e51 https://github.com/XQuartz/xorg-server/commit/f31875510d818ba517f082e124adb294db906e51 Author: Adam Jackson Date: 2016-12-07 (Wed, 07 Dec 2016) Changed paths: M composite/compalloc.c M composite/compint.h M composite/compwindow.c Log Message: ----------- composite: Fix repaint of borders (v2) When going from border width zero to a non-zero border width, the Composite extension is informed via the ConfigNotify callback. The call-chain looks like this: compConfigNotify -> compReallocPixmap -> compSetPixmap -> TraverseTree -> compSetPixmapVisitWindow. However, at this time, pWindow->borderWidth was not yet updated. Thus, HasBorder() is false and the window border will not be repainted. To fix this, thread the new bw through to the window visitor, and inspect that rather than HasBorder(). For the other callers of compSetPixmap the border does not change size, so we can pass pWin->borderWidth instead. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98499 Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: b365c5d16894a259dbf29db4ca2640d8ed768063 https://github.com/XQuartz/xorg-server/commit/b365c5d16894a259dbf29db4ca2640d8ed768063 Author: Pekka Paalanen Date: 2016-12-07 (Wed, 07 Dec 2016) Changed paths: M test/Makefile.am Log Message: ----------- test: fix distributing scripts Fix the following error on 'make distcheck': make[6]: *** No rule to make target 'scripts/xvfb-piglit.sh', needed by 'scripts/xvfb-piglit.sh.log'. Stop. make[6]: Leaving directory '/home/pq/git/xserver/xorg-server-1.19.99.1/_build/sub/test' Makefile:1367: recipe for target 'check-TESTS' failed The setup to trigger this is: $ ./configure --prefix=/home/pq/local --disable-docs --disable-devel-docs --enable-xwayland --disable-xorg --disable-xvfb --disable-xnest --disable-xquartz --disable-xwin --enable-debug SCRIPT_TESTS is populated conditionally, but we should distribute the scripts in any case. Reviewed-by: Adam Jackson Signed-off-by: Pekka Paalanen Commit: 8b335d9068fe4e1f1423a4d86c22b69ffcb819a5 https://github.com/XQuartz/xorg-server/commit/8b335d9068fe4e1f1423a4d86c22b69ffcb819a5 Author: Ben Crocker Date: 2016-12-07 (Wed, 07 Dec 2016) Changed paths: M hw/xfree86/common/xf86AutoConfig.c M hw/xfree86/parser/read.c M hw/xfree86/parser/xf86Parser.h Log Message: ----------- Fix a segfault that occurs if xorg.conf.d is absent: In InitOutput, if xf86HandleConfigFile returns CONFIG_NOFILE (which it does if no config file or directory is present), the autoconfig flag is set, causing xf86AutoConfig to be called later on. xf86AutoConfig calls xf86OutputClassDriverList via the call tree: xf86AutoConfig => listPossibleVideoDrivers => xf86PlatformMatchDriver => xf86OutputClassDriverList and xf86OutputClassDriverList attempts to traverse a linked list that is a member of the XF86ConfigRec struct pointed to by the global xf86configptr, which is NULL at this point because the XF86ConfigRec struct is only allocated (by xf86readConfigFile) AFTER the config file and directory have been successfully opened; the CONFIG_NOFILE return from xf86HandleConfigFile occurs BEFORE the call to xf86readConfigFile which allocates the XF86ConfigRec struct. Rx: In read.c (for symmetry with xf86freeConfig, which already appears in this file), add a new function xf86allocateConfig which tests the value of xf86configptr and, if it's NULL, allocates the XF86ConfigRec struct and deposits the pointer in xf86configptr. In xf86Parser.h, add a prototype for the new xf86allocateConfig function. Back in read.c, #include "xf86Config.h". In xf86readConfigFile, change the open-code call to calloc to a call to the new xf86allocateConfig function. In xf86AutoConfig.c, add a call to the new xf86allocateConfig function to the beginning of xf86AutoConfig to make sure the XF86ConfigRec struct is allocated. Reviewed-by: Adam Jackson Signed-off-by: Ben Crocker Commit: e900a00f8dc5a1db63bafddd4ad1cde744975db1 https://github.com/XQuartz/xorg-server/commit/e900a00f8dc5a1db63bafddd4ad1cde744975db1 Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M dix/gc.c M hw/dmx/dmxextension.c M hw/xnest/Screen.c M include/scrnintstr.h Log Message: ----------- dix: Rename (and retype) PixmapPerDepth[1] to defaultStipple Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 98caba9f5669291e84f8610cc3071a9ac2df205f https://github.com/XQuartz/xorg-server/commit/98caba9f5669291e84f8610cc3071a9ac2df205f Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M dix/gc.c Log Message: ----------- dix: Clear graphicsExposures for scratch GCs in one place ... instead of in all the CreateScratchGC callers. Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 2b486f052d8a7d3bada9eb2615aa19d79e999cbe https://github.com/XQuartz/xorg-server/commit/2b486f052d8a7d3bada9eb2615aa19d79e999cbe Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M hw/xfree86/shadowfb/Makefile.am R hw/xfree86/shadowfb/shadow.c A hw/xfree86/shadowfb/shadowfb.c Log Message: ----------- shadowfb: Rename this particular shadow.c to shadowfb.c So as not to conflict with the one in miext/shadow. Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 1ae09800863992cfb1d5d21c600e2bc29e3b6ab2 https://github.com/XQuartz/xorg-server/commit/1ae09800863992cfb1d5d21c600e2bc29e3b6ab2 Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M hw/xfree86/drivers/modesetting/Makefile.am M hw/xfree86/drivers/modesetting/driver.c R hw/xfree86/drivers/modesetting/sh3224.c R hw/xfree86/drivers/modesetting/sh3224.h M miext/shadow/Makefile.am A miext/shadow/sh3224.c M miext/shadow/shadow.h Log Message: ----------- shadow: Lift 32->24 conversion from modesetting to dix Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: a530dc2a62349d922de77a75786a3795102aec11 https://github.com/XQuartz/xorg-server/commit/a530dc2a62349d922de77a75786a3795102aec11 Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M miext/shadow/shadow.h M miext/shadow/shpacked.c M miext/shadow/shplanar.c M miext/shadow/shrotate.c Log Message: ----------- shadow: Remove indirection stubs These are no longer used in the drivers. Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 8d985c1e696bf46edaea0021f03f6f613ce37860 https://github.com/XQuartz/xorg-server/commit/8d985c1e696bf46edaea0021f03f6f613ce37860 Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M hw/xwin/winshadddnl.c M hw/xwin/winshadgdi.c M miext/shadow/sh3224.c M miext/shadow/shadow.c M miext/shadow/shadow.h M miext/shadow/shafb4.c M miext/shadow/shafb8.c M miext/shadow/shiplan2p4.c M miext/shadow/shiplan2p8.c M miext/shadow/shpacked.c M miext/shadow/shplanar.c M miext/shadow/shplanar8.c M miext/shadow/shrotate.c M miext/shadow/shrotpack.h M miext/shadow/shrotpackYX.h Log Message: ----------- shadow: Macro cleanup shadowDamage is just obfuscation. The other two macros won't work outside shadow.c since the private key is in fact static there (meaning the extern decl is a lie). Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 6dd65a6e9bd41237afe7615bea1cc9510e82781a https://github.com/XQuartz/xorg-server/commit/6dd65a6e9bd41237afe7615bea1cc9510e82781a Author: Adam Jackson Date: 2016-12-12 (Mon, 12 Dec 2016) Changed paths: M miext/shadow/Makefile.am M miext/shadow/shadow.h R miext/shadow/shalloc.c Log Message: ----------- shadow: Remove unused shadowAlloc Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 32e632e85894eddc3ace83f16f1e973b1be478fe https://github.com/XQuartz/xorg-server/commit/32e632e85894eddc3ace83f16f1e973b1be478fe Author: Adam Jackson Date: 2016-12-13 (Tue, 13 Dec 2016) Changed paths: M miext/damage/damage.c Log Message: ----------- Revert "damage: Make damageRegionProcessPending take a damage not a drawable" The commit message makes the assertion that the code below damage is not allowed to change whether there's a damage monitor for the drawable. That turns out not to be the case! exa's mixed code, at least, will create and destroy a damage in PrepareAccess. The destroy path can then be catastrophic, as damageRegionProcessPending will attempt to RegionEmpty memory from the middle of a freed block. I'd wanted that invariant for performance, but faster isn't worth broken, so revert it. I think what exa's doing is reasonable, so the better way to improve performance for the unmonitored case is to either revisit dynamically wrapping into the GC, or inline damage into dix. This reverts commit 4e124203f2260daaf54155f4a05fe469733e0b97. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1389886 Signed-off-by: Adam Jackson Commit: c57c1e53ea3d76ebba5b2a23b7260817d3e6b921 https://github.com/XQuartz/xorg-server/commit/c57c1e53ea3d76ebba5b2a23b7260817d3e6b921 Author: Hans De Goede Date: 2016-12-14 (Wed, 14 Dec 2016) Changed paths: M hw/xfree86/common/xf86platformBus.c Log Message: ----------- xfree86: Free devlist returned by xf86MatchDevice xf86MatchDevice returns a dynamically allocated list of GDevPtr-s, free this when we're done with it. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: 08b84d72878e43401e99059c3c926dfa42a360c3 https://github.com/XQuartz/xorg-server/commit/08b84d72878e43401e99059c3c926dfa42a360c3 Author: Hans De Goede Date: 2016-12-14 (Wed, 14 Dec 2016) Changed paths: M hw/xfree86/common/xf86platformBus.c Log Message: ----------- xfree86: Make OutputClassMatches take a xf86_platform_device Make OutputClassMatches directly take a xf86_platform_device as argument, rather then an index into xf86_platform_devices. This makes things easier for callers which already have a xf86_platform_device pointer. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: 9cd3cc75269d9196898487b5712ee47b8291e077 https://github.com/XQuartz/xorg-server/commit/9cd3cc75269d9196898487b5712ee47b8291e077 Author: Hans De Goede Date: 2016-12-14 (Wed, 14 Dec 2016) Changed paths: M hw/xfree86/common/xf86Option.c M hw/xfree86/common/xf86platformBus.c M hw/xfree86/common/xf86platformBus.h M hw/xfree86/man/xorg.conf.man M hw/xfree86/parser/OutputClass.c M hw/xfree86/parser/xf86Parser.h Log Message: ----------- xfree86: Add options support for OutputClass Options Add support for setting options in OutputClass Sections and having these applied to any matching output devices. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: ab1a65b7755d081b41188104b21f4d21eaa3187b https://github.com/XQuartz/xorg-server/commit/ab1a65b7755d081b41188104b21f4d21eaa3187b Author: Hans De Goede Date: 2016-12-14 (Wed, 14 Dec 2016) Changed paths: M hw/xfree86/common/xf86platformBus.c Log Message: ----------- xfree86: xf86platformProbe: split finding pci-info and setting primary GPU This is a preparation patch for allowing an OutputClass section to override the default primary GPU device selection. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: d75ffcdbf8c1e3c8e0d46debcd533a9f2560f0a8 https://github.com/XQuartz/xorg-server/commit/d75ffcdbf8c1e3c8e0d46debcd533a9f2560f0a8 Author: Hans De Goede Date: 2016-12-14 (Wed, 14 Dec 2016) Changed paths: M hw/xfree86/common/xf86platformBus.c M hw/xfree86/man/xorg.conf.man Log Message: ----------- xfree86: Allow overriding primary GPU detection from an OutputClass section Allow using: Option "PrimaryGPU" "yes" In an OutputClass section to override the default primary GPU device selection which selects the GPU used as output by the firmware. If multiple output devices match an OutputClass section with the PrimaryGPU option set, the first one enumerated becomes the primary GPU. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: b5dffbbac193aa640ffcfa0a431c21b862854e53 https://github.com/XQuartz/xorg-server/commit/b5dffbbac193aa640ffcfa0a431c21b862854e53 Author: Hans De Goede Date: 2016-12-14 (Wed, 14 Dec 2016) Changed paths: M hw/xfree86/common/xf86platformBus.c M hw/xfree86/loader/loadmod.c M hw/xfree86/man/xorg.conf.man M hw/xfree86/parser/OutputClass.c M hw/xfree86/parser/xf86Parser.h Log Message: ----------- xfree86: Add ModulePath support for OutputClass config Sections Allow OutputClass config snippets to modify the module-path. Note that any specified ModulePaths will be pre-pended to the normal ModulePath. The idea behind this is that any output hardware specific modules should have preference over the normal modules. One use-case for this is the nvidia binary driver, this allows a config snippet like this: Section "OutputClass" MatchDriver "nvidia" Modulepath "/usr/lib64/nvidia/modules" EndSection To get the nvidia glx specific glx module loaded, but only when the nvidia kernel driver is loaded. Together with the glvnd work done recently, this allows the nouveau + mesa and nvidia-binary userspace stacks to co-exist on the same system without any ldconfig / xorg.conf tweaking and the xserver will automatically do the right thing depending on which kernel driver (nouveau or nvidia) is loaded. Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: 5b74e260e009d8bdf26433724495802b85cce7c3 https://github.com/XQuartz/xorg-server/commit/5b74e260e009d8bdf26433724495802b85cce7c3 Author: Mihail Konev Date: 2017-01-02 (Mon, 02 Jan 2017) Changed paths: M dix/Makefile.am M os/Makefile.am Log Message: ----------- os,dix: Depend custom libs on libs, not objects The custom os/os.O library reuses *.o files of os/libos.la. The current rule assumes automake puts all the objects into per-target am__*_la_OBJECTS variable. At least with AC_REPLACE_FUNCS, this no longer holds (as wanted objects are put into LTLIBOBJS instead). Depend on automake's result, the *.la library instead, to express demand of any its dependencies being built. Should be fixing randomly occuring "undefined reference to `strlcpy'" errors when linking Xvfb and other DDX-es that could use os.O. Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 05e19644250698aa126a60bc671e85425df784d1 https://github.com/XQuartz/xorg-server/commit/05e19644250698aa126a60bc671e85425df784d1 Author: Hans De Goede Date: 2017-01-02 (Mon, 02 Jan 2017) Changed paths: M glamor/glamor_egl.c M glamor/glamor_egl.h Log Message: ----------- glamor: Trust eglGetPlatformDisplayEXT if it exists If the libEGL we are using has eglGetPlatformDisplayEXT, yet it still returns NULL, then this very likely means that it does not support the type (e.g. EGL_PLATFORM_GBM_MESA) passed in, and then returning NULL is the right thing to do. This avoids falling back to an eglGetDisplay() implementation which does not understands the passed in gbm handle, treats it as a pointer to something else completely, followed by a crash sooner or later. Specifically this fixes using the nvidia binary driver, with nvidia's libEGL + the modesetting driver on a secondary GPU crashing inside glamor_egl_init() sometimes. Cc: Eric Anholt Reviewed-by: Adam Jackson Signed-off-by: Hans de Goede Commit: c96c860b6420adf0d004707a323af30491a1d7d3 https://github.com/XQuartz/xorg-server/commit/c96c860b6420adf0d004707a323af30491a1d7d3 Author: Michal Srb Date: 2017-01-02 (Mon, 02 Jan 2017) Changed paths: M randr/rrxinerama.c Log Message: ----------- xinerama: Swap the response in RRXineramaWriteMonitor Reviewed-by: Adam Jackson Commit: 1b42f9505ff3a39b441464f553442079b750fe88 https://github.com/XQuartz/xorg-server/commit/1b42f9505ff3a39b441464f553442079b750fe88 Author: Peter Hutterer Date: 2017-01-02 (Mon, 02 Jan 2017) Changed paths: M os/WaitFor.c Log Message: ----------- os: return 0 from check_timers if we touched any of them Fixes a regression introduced in 0b2f30834b1a9f. If a driver posts input events during a timer function (wacom and synaptics do this during tap timeouts), ProcessInputEvents() is not called for these events. There are no new events on any fds, so the events just sit in the queue waiting for something else to happen. Fix this by simply returning 0 from check_timers if we ran at least one of them or reset them all. This way the callers ospoll_wait will exit and continue with normal processing. Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard Commit: 9874f73e88678c9eacbcba05e52336fc63a32712 https://github.com/XQuartz/xorg-server/commit/9874f73e88678c9eacbcba05e52336fc63a32712 Author: Kai-Heng Feng Date: 2017-01-02 (Mon, 02 Jan 2017) Changed paths: M hw/xfree86/modes/xf86EdidModes.c Log Message: ----------- edid: Add quirk for ADA 1024x600 7" display. Detailed mode reports 108 mm x 68 mm which is for smaller display. Maximum image size reports 15 cm x 10 cm which aligns with its physical size, use this size instead. Signed-off-by: Kai-Heng Feng Acked-by: Alex Deucher Commit: 29a4f3db60fdeaef7bca3aa2746bb43a1850fddd https://github.com/XQuartz/xorg-server/commit/29a4f3db60fdeaef7bca3aa2746bb43a1850fddd Author: Adam Jackson Date: 2017-01-02 (Mon, 02 Jan 2017) Changed paths: M glamor/glamor_egl.h Log Message: ----------- glamor: Squash unused variable warning Accidentally introduced in 05e19644. Signed-off-by: Adam Jackson Commit: 9d32b71c93cf6187e9320c99ae857e34a51b7102 https://github.com/XQuartz/xorg-server/commit/9d32b71c93cf6187e9320c99ae857e34a51b7102 Author: Mihail Konev Date: 2017-01-04 (Wed, 04 Jan 2017) Changed paths: M include/xkbsrv.h M xkb/xkbInit.c M xkb/xkbPrKeyEv.c Log Message: ----------- xkb: Match key releases with an overlaid press Testcase: In ~/.xbindkeysrc: "xterm &" XF86LaunchA In ~/ov.xkb: xkb_keymap { xkb_keycodes { include "evdev" }; xkb_types { include "complete" }; xkb_compat { include "complete" interpret Overlay1_Enable+AnyOfOrNone(all) { action= SetControls(controls=Overlay1); }; }; xkb_symbols { include "pc+inet(evdev)+us" key { [ Overlay1_Enable ] }; key { overlay1 = }; // Insert+1 => 2 key { overlay1 = }; // Insert+~ => XF86LaunchA }; xkb_geometry { include "pc(pc104)" }; }; Apply this layout: 'xkbcomp ~/ov.xkb $DISPLAY'. Run "xbindkeys -n -v" In the exact order: - press Insert - press Tilde - release Insert - wait - release Tilde Keyboard input in the new terminal window(s) would be locked until another Insert+Tilde . Reported-by: Mariusz Mazur Signed-off-by: Mihail Konev Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: e473b2bc016adacfe3fa47fdf6a8ce9f8cddff62 https://github.com/XQuartz/xorg-server/commit/e473b2bc016adacfe3fa47fdf6a8ce9f8cddff62 Author: Michel Dänzer Date: 2017-01-10 (Tue, 10 Jan 2017) Changed paths: M present/present.c Log Message: ----------- present: Only call present_flip_notify if vblank->queued == FALSE We are no longer using the present_flip_queue list only for presents which have already been submitted to the driver for page flipping, but also for those which we are queueing up to be flipped later, marked with vblank->queued == TRUE. We were incorrectly calling present_flip_notify for such entries, failing the assertion in present_flip_notify (or presumably resulting in other undesirable behaviour with assertions disabled). Reproduction recipe: Run the JavaFX test case referenced by https://bugs.freedesktop.org/show_bug.cgi?id=98831#c6 and alt-tab out of it while it's fullscreen. May take a few attempts to hit the assertion failure. Fixes: bab0f450a719 ("present: Fix presentation of flips out of order") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98854 Reviewed-by: Alex Deucher Commit: 1012510620de7dadd0ab18b19a8e11facd884601 https://github.com/XQuartz/xorg-server/commit/1012510620de7dadd0ab18b19a8e11facd884601 Author: Qiang Yu Date: 2017-01-11 (Wed, 11 Jan 2017) Changed paths: M hw/xfree86/common/xf86Option.c Log Message: ----------- xfree86: fix wrong usage of xf86optionListMerge Signed-off-by: Qiang Yu Reviewed-by: Hans de Goede Signed-off-by: Peter Hutterer Commit: 555e0a42d138ac8d83af62638752a1bebad602d6 https://github.com/XQuartz/xorg-server/commit/555e0a42d138ac8d83af62638752a1bebad602d6 Author: Qiang Yu Date: 2017-01-11 (Wed, 11 Jan 2017) Changed paths: M randr/rrprovider.c Log Message: ----------- randr: fix xserver crash when xrandr setprovideroutputsource xrandr --setprovideroutputsource Xorg: ../../../xserver/dix/dispatch.c:4018: AttachOutputGPU: Assertion `new->isGPU' failed. GPUScreen is not allowed to be sink output. Signed-off-by: Qiang Yu Reviewed-by: Hans de Goede Signed-off-by: Peter Hutterer Commit: 436da935bde43076f3052a758a463ed080e8a747 https://github.com/XQuartz/xorg-server/commit/436da935bde43076f3052a758a463ed080e8a747 Author: Qiang Yu Date: 2017-01-11 (Wed, 11 Jan 2017) Changed paths: M hw/xfree86/drivers/modesetting/driver.c M hw/xfree86/drivers/modesetting/driver.h Log Message: ----------- modesetting: cleanup pci device open Signed-off-by: Qiang Yu Reviewed-by: Hans de Goede Signed-off-by: Peter Hutterer Commit: 785053d033e73d2deb0ded4b97eabfd881991978 https://github.com/XQuartz/xorg-server/commit/785053d033e73d2deb0ded4b97eabfd881991978 Author: Keith Packard Date: 2017-01-11 (Wed, 11 Jan 2017) Changed paths: M dix/dispatch.c M include/dixstruct.h M os/connection.c Log Message: ----------- AttendClient of grab-pervious client must queue to saved_ready_clients [v2] A client which is attended while a grab is blocking execution of its requests needs to be placed in the saved_ready_clients list so that it will get scheduled once the grab terminates. Otherwise, if the client never sends another request, there is no way for it to be placed in the ready_clients list. v2: Wrap comment above mark_client_saved_ready. Remove test for OS_COMM_IGNORED which will always be true. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99333 Reviewed-by: Adam Jackson Signed-off-by: Keith Packard Commit: 45546219e117c1b6129fd9f9be2ce5b592486feb https://github.com/XQuartz/xorg-server/commit/45546219e117c1b6129fd9f9be2ce5b592486feb Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: M hw/xfree86/os-support/linux/Makefile.am M hw/xfree86/ramdac/Makefile.am R hw/xfree86/ramdac/xf86Cursor.c A hw/xfree86/ramdac/xf86CursorRD.c M test/Makefile.am A test/test_xkb.c R test/xkb.c Log Message: ----------- tests: Avoid libtool message The "copying selected object files" message appears as some source files have the same name, and some objects are included twice. Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: ff66bca3e8797db709e03572d296358dc4b95653 https://github.com/XQuartz/xorg-server/commit/ff66bca3e8797db709e03572d296358dc4b95653 Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: M test/xi1/Makefile.am M test/xi1/protocol-xchangedevicecontrol.c M test/xi2/Makefile.am M test/xi2/protocol-common.c M test/xi2/protocol-eventconvert.c M test/xi2/protocol-xigetclientpointer.c M test/xi2/protocol-xigetselectedevents.c M test/xi2/protocol-xipassivegrabdevice.c M test/xi2/protocol-xiquerydevice.c M test/xi2/protocol-xiquerypointer.c M test/xi2/protocol-xiqueryversion.c M test/xi2/protocol-xiselectevents.c M test/xi2/protocol-xisetclientpointer.c M test/xi2/protocol-xiwarppointer.c M test/xi2/xi2.c Log Message: ----------- tests: Refactor wraps into protocol-common.c Part of refactoring the tests into a single binary, to make partial rebuild slightly faster and less verbose. Prepares for joining test/xi2/protocol-* into a single binary. Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 371576f64baa99c4ab1e736fbae7975a32577275 https://github.com/XQuartz/xorg-server/commit/371576f64baa99c4ab1e736fbae7975a32577275 Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: A test/tests-common.c A test/tests-common.h A test/tests.h M test/xi1/.gitignore M test/xi1/Makefile.am M test/xi1/protocol-xchangedevicecontrol.c A test/xi1/tests.c M test/xi2/Makefile.am M test/xi2/protocol-common.h Log Message: ----------- tests: Convert test/xi1/ to single binary Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 773fc07e4c2f816966809492a924a9bd1a15d059 https://github.com/XQuartz/xorg-server/commit/773fc07e4c2f816966809492a924a9bd1a15d059 Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: M test/tests.h M test/xi2/.gitignore M test/xi2/Makefile.am M test/xi2/protocol-common.c M test/xi2/protocol-eventconvert.c M test/xi2/protocol-xigetclientpointer.c M test/xi2/protocol-xigetselectedevents.c M test/xi2/protocol-xipassivegrabdevice.c M test/xi2/protocol-xiquerydevice.c M test/xi2/protocol-xiquerypointer.c M test/xi2/protocol-xiqueryversion.c M test/xi2/protocol-xiselectevents.c M test/xi2/protocol-xisetclientpointer.c M test/xi2/protocol-xiwarppointer.c A test/xi2/tests.c M test/xi2/xi2.c Log Message: ----------- tests: Convert test/xi2/ to single binary Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: ead5064581665ff40c177dd1b447949f1420e209 https://github.com/XQuartz/xorg-server/commit/ead5064581665ff40c177dd1b447949f1420e209 Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: M test/.gitignore M test/Makefile.am M test/fixes.c M test/hashtabletest.c M test/input.c M test/list.c M test/misc.c M test/signal-logging.c M test/string.c M test/test_xkb.c M test/tests-common.h A test/tests.c M test/tests.h M test/touch.c M test/xfree86.c M test/xtest.c Log Message: ----------- tests: Convert test/ to single binary Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 23f6dbc96e47be6cbeed78cc9ef303987c3e29a9 https://github.com/XQuartz/xorg-server/commit/23f6dbc96e47be6cbeed78cc9ef303987c3e29a9 Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: M configure.ac M test/Makefile.am M test/tests.c R test/xi1/.gitignore R test/xi1/Makefile.am R test/xi1/tests.c R test/xi2/.gitignore R test/xi2/Makefile.am R test/xi2/tests.c Log Message: ----------- tests: Move test/{xi1,xi2}/tests to test/ Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 704a867f8fb7652a8b7d5569bbe44e188457db4e https://github.com/XQuartz/xorg-server/commit/704a867f8fb7652a8b7d5569bbe44e188457db4e Author: Mihail Konev Date: 2017-01-12 (Thu, 12 Jan 2017) Changed paths: M test/Makefile.am Log Message: ----------- tests: Remove obsolete libxservertest.la Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 730fd8c05f56da21894691bbd2e7ff37f67b45f4 https://github.com/XQuartz/xorg-server/commit/730fd8c05f56da21894691bbd2e7ff37f67b45f4 Author: Mihail Konev Date: 2017-01-16 (Mon, 16 Jan 2017) Changed paths: M test/Makefile.am M test/tests.c Log Message: ----------- tests: fix --disable-xorg build Commit: b44bef513bd83249036cb5a237dc20eb6088c17c https://github.com/XQuartz/xorg-server/commit/b44bef513bd83249036cb5a237dc20eb6088c17c Author: Adam Jackson Date: 2017-01-16 (Mon, 16 Jan 2017) Changed paths: M test/Makefile.am M test/tests.c Log Message: ----------- Revert "tests: fix --disable-xorg build" Pushed the wrong thing. This reverts commit 730fd8c05f56da21894691bbd2e7ff37f67b45f4. Commit: 3f8c2f94483bf0b96e129c97ef4950170a3f05b4 https://github.com/XQuartz/xorg-server/commit/3f8c2f94483bf0b96e129c97ef4950170a3f05b4 Author: Giuseppe Bilotta Date: 2017-01-16 (Mon, 16 Jan 2017) Changed paths: M test/Makefile.am Log Message: ----------- tests: Fix without-dtrace build Signed-off-by: Giuseppe Bilotta Reviewed-by: Mihail Konev Signed-off-by: Mihail Konev Commit: 6f531b0cdf8c9d7f711dd46071a26c50db3f1a16 https://github.com/XQuartz/xorg-server/commit/6f531b0cdf8c9d7f711dd46071a26c50db3f1a16 Author: Mihail Konev Date: 2017-01-16 (Mon, 16 Jan 2017) Changed paths: M test/Makefile.am Log Message: ----------- tests: Fix typo Remove redundrant/incorrect automake assignment. Buglink: https://lists.x.org/archives/xorg-devel/2017-January/052320.html Reported-by: Michel Dänzer Signed-off-by: Mihail Konev Reviewed-by: Jon Turney Commit: d740e1830a7ef32433fdf338c1e04dc6c9a927cb https://github.com/XQuartz/xorg-server/commit/d740e1830a7ef32433fdf338c1e04dc6c9a927cb Author: Adam Jackson Date: 2017-01-19 (Thu, 19 Jan 2017) Changed paths: M configure.ac M hw/dmx/input/Makefile.am M hw/dmx/input/dmxinputinit.c R hw/dmx/input/lnx-keyboard.c R hw/dmx/input/lnx-keyboard.h R hw/dmx/input/lnx-ms.c R hw/dmx/input/lnx-ms.h R hw/dmx/input/lnx-ps2.c R hw/dmx/input/lnx-ps2.h M hw/dmx/man/Xdmx.man Log Message: ----------- dmx: Remove non-evdev hardware input drivers Use evdev. Reviewed-by: Peter Hutterer Signed-off-by: Adam Jackson Commit: e7b8b7b131d8283c96ed0aff4593ab41441b5d3b https://github.com/XQuartz/xorg-server/commit/e7b8b7b131d8283c96ed0aff4593ab41441b5d3b Author: Adam Jackson Date: 2017-01-19 (Thu, 19 Jan 2017) Changed paths: M configure.ac M hw/kdrive/linux/Makefile.am R hw/kdrive/linux/keyboard.c M hw/kdrive/linux/linux.c R hw/kdrive/linux/mouse.c R hw/kdrive/linux/ms.c R hw/kdrive/linux/ps2.c M include/kdrive-config.h.in Log Message: ----------- kdrive: Remove non-evdev input drivers Use evdev. Reviewed-by: Peter Hutterer Signed-off-by: Adam Jackson Commit: 86463981361064dd0352ec215abf1696ce7fc5ea https://github.com/XQuartz/xorg-server/commit/86463981361064dd0352ec215abf1696ce7fc5ea Author: Olivier Fourdan Date: 2017-01-24 (Tue, 24 Jan 2017) Changed paths: M glamor/glamor_render.c Log Message: ----------- glamor: Two pass won't work on memory pixmaps When selecting "CA_TWO_PASS" in glamor_composite_clipped_region() when the hardware does not support "GL_ARB_blend_func_extended", we call glamor_composite_choose_shader() twice in a row, which in turn calls glamor_pixmap_ensure_fbo(). On memory pixmaps, the first call will set the FBO and the second one will fail an assertion in glamor_upload_picture_to_texture() because the FBO is already set. Bail out earlier when the mask pixmap is in memory and the hardware capabilities would require to use two pass, so that the assertion is not failed and the rendering is correct. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99346 Signed-off-by: Olivier Fourdan Reviewed-by: Eric Anholt Commit: bccbaf7c113b1300071601879002682ebbe8b1c1 https://github.com/XQuartz/xorg-server/commit/bccbaf7c113b1300071601879002682ebbe8b1c1 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M composite/compwindow.c Log Message: ----------- composite: Remove a misleading comment This comment is above compIsAlternateVisual, which used to be the only thing determining whether implicit redirect was needed. It's not anymore due to the redirection exception list. That job is now performed by compImplicitRedirect, whose code is self-explanitory. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: ef2345aaa28461a76f77c65240ce5facc180f98e https://github.com/XQuartz/xorg-server/commit/ef2345aaa28461a76f77c65240ce5facc180f98e Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M composite/compositeext.h M composite/compwindow.c Log Message: ----------- composite: Export compIsAlternateVisual Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 43efaa6e4fd903229dc9c508da4177ad4bbdd4d8 https://github.com/XQuartz/xorg-server/commit/43efaa6e4fd903229dc9c508da4177ad4bbdd4d8 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M glx/glxcmds.c Log Message: ----------- glx: Send GLX_VISUAL_SELECT_GROUP_SGIX attribute for visuals We already send this for fbconfigs. Mesa happens to implement glXChooseVisual relative to the fbconfig data, but that might not be true of NVIDIA's libGL. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: ea483af99a6351323afe00a0b630cd63310efdb1 https://github.com/XQuartz/xorg-server/commit/ea483af99a6351323afe00a0b630cd63310efdb1 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M glx/glxscreens.c Log Message: ----------- glx: Move Composite's synthetic visuals to a different select group Should you find yourself using a 16bpp display while also using a compositor, you poor soul, you may find that your GLX applications behave strangely; in particular, glxgears will be transparent. This is because it clears to (0,0,0,0) which is transparent if you honor alpha, and it will choose the synthetic visual because it has the most available r/g/b bits. To avoid this, bump synthetic visuals to a higher (less-preferred) select group. Unless the client explicitly asks for non-zero alpha bits, this will prefer any rgb565 visual ahead of the argb8888 visual. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 2196bb50383bd96d364f799018c0693c9309ed7f https://github.com/XQuartz/xorg-server/commit/2196bb50383bd96d364f799018c0693c9309ed7f Author: Emil Velikov Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Helper.c M hw/xfree86/common/xf86Init.c M hw/xfree86/doc/ddxDesign.xml M hw/xfree86/loader/loaderProcs.h M hw/xfree86/loader/loadmod.c Log Message: ----------- xfree86: remove unused path from the LoadModule API Similar to its little brother - LoadSubModule. Currently all call sites provide NULL anyway ;-) Reviewed-by: Aaron Plattner Reviewed-by: Julien Cristau Signed-off-by: Emil Velikov Commit: 57eec704c3ddea0fecea2d8fbd1c3547f0b8fccf https://github.com/XQuartz/xorg-server/commit/57eec704c3ddea0fecea2d8fbd1c3547f0b8fccf Author: Emil Velikov Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/doc/ddxDesign.xml Log Message: ----------- xfree86: remove references to LoadSubModule's path from the doc Afaics the argument hasn't been part of the API since the documentation has been converted to xml with commit fc6ebe1e1d3 "Convert LinuxDoc documents to DocBook/XML" Reviewed-by: Julien Cristau Signed-off-by: Emil Velikov Commit: 7b71055fc65242a9c4b651e72bb07dbb3f00c4e6 https://github.com/XQuartz/xorg-server/commit/7b71055fc65242a9c4b651e72bb07dbb3f00c4e6 Author: Emil Velikov Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/loader/loaderProcs.h Log Message: ----------- xfree86: remove dummy/dead function prototype for LoadDriver Reviewed-by: Julien Cristau Signed-off-by: Emil Velikov Commit: 778cfc59762cdf528cf8672bfb5696844e91ebc3 https://github.com/XQuartz/xorg-server/commit/778cfc59762cdf528cf8672bfb5696844e91ebc3 Author: Emil Velikov Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/loader/loadmod.c Log Message: ----------- xfree86: flatten pathlist management in the loader Now that users can set the path only via LoaderSetPath(), we can simplify things. Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Emil Velikov Commit: a6fcb15472bb7663ae917f5913bf07b6d3c7f186 https://github.com/XQuartz/xorg-server/commit/a6fcb15472bb7663ae917f5913bf07b6d3c7f186 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/loader/loader.c M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Port from xfree86 to dix API Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 97bd6e453676516891250389ec0fd695c110087c https://github.com/XQuartz/xorg-server/commit/97bd6e453676516891250389ec0fd695c110087c Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86.h M hw/xfree86/common/xf86Helper.c M hw/xfree86/common/xf86Module.h M hw/xfree86/loader/Makefile.am M hw/xfree86/loader/loadmod.c R hw/xfree86/loader/os.c Log Message: ----------- loader: Remove *GetOS This API is dumb. uname(3) exists, feel free to use it, but ideally write to the interface not to the OS. There are a couple of drivers using this API, they could all reasonably just not. This also removes the OS name from the loader subdirectory path search. Having /usr/lib/xorg shared across OSes is a non-goal here. Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 49fa76801348f6d044128f7ec743693d0759d683 https://github.com/XQuartz/xorg-server/commit/49fa76801348f6d044128f7ec743693d0759d683 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Don't add internal/ to the search path Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 7e3cccf8e4426a4b25a7a94d52775d334693572f https://github.com/XQuartz/xorg-server/commit/7e3cccf8e4426a4b25a7a94d52775d334693572f Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Module.h Log Message: ----------- loader: Include fewer headers from xf86Module.h This looks like more, but only if you don't compare it to the number pulled in by misc.h. Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: ef533a912d18db31456b29a18c8bced649309565 https://github.com/XQuartz/xorg-server/commit/ef533a912d18db31456b29a18c8bced649309565 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Module.h M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Remove unused loader error codes and dead enum The enum has been unused since at least the removal of elfloader. Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 2e3ad7e2506d9eb6667a5f229b5213d215451a5a https://github.com/XQuartz/xorg-server/commit/2e3ad7e2506d9eb6667a5f229b5213d215451a5a Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Module.h M hw/xfree86/doc/ddxDesign.xml M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Remove silly "unspecified" version handling Everybody using this functionality specifies a major version, which makes sense. If you don't care about a minor version, that's equivalent to saying you require minor >= 0, so just say so; likewise patch level. Likewise ABI class is always specified. Reviewed-by: Emil Velikov Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 5c577da5f3a65c68d2ee12e4afca8f20c3e8ccf4 https://github.com/XQuartz/xorg-server/commit/5c577da5f3a65c68d2ee12e4afca8f20c3e8ccf4 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Helper.c M hw/xfree86/common/xf86str.h Log Message: ----------- xfree86: Remove DriverRec1 compat struct The idea here is that the driver might have once been old enough to not have the driverFunc slot in DriverRec, with the module ABI not having changed when it was added. That was ages ago, and drivers always declare themselves with DriverRec not DriverRec1, so uninitialized slots will simply be zero. Reviewed-by: Emil Velikov Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: d7879c46724a36bfd9a3a08e49903d001ffbf93e https://github.com/XQuartz/xorg-server/commit/d7879c46724a36bfd9a3a08e49903d001ffbf93e Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Configure.c Log Message: ----------- xfree86: Fix up some bad indentation indent(1) gets confused by function-like macros with no trailing semicolon, which is fair enough really. Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: d55284e8638ede15be851aa8a19a98dbbff0ce20 https://github.com/XQuartz/xorg-server/commit/d55284e8638ede15be851aa8a19a98dbbff0ce20 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Configure.c Log Message: ----------- xfree86: Remove a stray reference to font modules Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: c54a9ca152898ec2ffe50f6d5b70d483b85c1c34 https://github.com/XQuartz/xorg-server/commit/c54a9ca152898ec2ffe50f6d5b70d483b85c1c34 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Config.c M hw/xfree86/common/xf86Configure.c M hw/xfree86/common/xf86Module.h M hw/xfree86/loader/loaderProcs.h Log Message: ----------- loader: Move loader list details to internal header There's no reason a driver should ever care about this. Reviewed-by: Eric Anholt Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: ba726ba6a73efe1bd19708b058f481f28068a85b https://github.com/XQuartz/xorg-server/commit/ba726ba6a73efe1bd19708b058f481f28068a85b Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Config.c M hw/xfree86/common/xf86Config.h M hw/xfree86/common/xf86Configure.c M hw/xfree86/loader/loaderProcs.h M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Turn LoaderListDirs into LoaderListDir Callers only ever use this for a single directory anyway. While we're at it, also move xf86DriverListFromCompile near its only user in the X -configure code (and inline it out of existence), and remove LoaderFreeDirList as it's unused (since X -configure is just going to exit anyway, none of that code cares about cleanup). Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 8920dca0091675f1202c1198336cd4d8e0259100 https://github.com/XQuartz/xorg-server/commit/8920dca0091675f1202c1198336cd4d8e0259100 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/common/xf86Helper.c M hw/xfree86/common/xf86Init.c M hw/xfree86/doc/ddxDesign.xml M hw/xfree86/loader/loader.c M hw/xfree86/loader/loader.h M hw/xfree86/loader/loaderProcs.h M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Remove unused arguments from LoadModule Nobody was ever calling this with a non-null argument for subdir list or pattern list. Having done this, InitSubdirs is only ever called with a NULL argument, so it's really just a complicated way of duplicating the default list; we can remove that and just walk the list directly. The minor error code was only ever used to distinguish among two cases of LDR_BADUSAGE. Whatever. Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: 8e83eacb9e2d2c6c2b9f8cdb9e82c976a0237f24 https://github.com/XQuartz/xorg-server/commit/8e83eacb9e2d2c6c2b9f8cdb9e82c976a0237f24 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/loader/loaderProcs.h M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Remove unused path and name from ModuleDescPtr Just a waste of memory. Path was never referenced at all, and name was only used when unloading the module; we can just as well get the module's internal idea of its name from VersionInfo. Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: cc0f173ea2936d1405e382329c1bd58c7af67ea7 https://github.com/XQuartz/xorg-server/commit/cc0f173ea2936d1405e382329c1bd58c7af67ea7 Author: Adam Jackson Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Learn about the joy of snprintf Reviewed-by: Julien Cristau Signed-off-by: Adam Jackson Commit: b1a6986395f85b0194646a34b49367086dc9239d https://github.com/XQuartz/xorg-server/commit/b1a6986395f85b0194646a34b49367086dc9239d Author: Martin Peres Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M test/Makefile.am Log Message: ----------- tests: shuffle around the linking order to please GNU ld Classic GNU ld resolves symbol dependencies only forward, while GOLD seems to work regardless of the specified library order. Suggested-by: Eero Tamminen Reviewed-by: Mihail Konev Signed-off-by: Martin Peres Commit: 7617a0a180a2cd3427a8ffa9534152df6a8fecbf https://github.com/XQuartz/xorg-server/commit/7617a0a180a2cd3427a8ffa9534152df6a8fecbf Author: Qiang Yu Date: 2017-01-25 (Wed, 25 Jan 2017) Changed paths: M configure.ac M hw/xfree86/dri2/dri2.c Log Message: ----------- dri2: refine dri2_probe_driver_name (v2) V2: 1. update comment 2. check bustype if PCI 3. configure add libdrm version check for drmGetDevice Get PCI information from info->fd with drmGetDevice instead of assuming the info->fd is the first entity of scrn which is not true for multi entities scrn. Signed-off-by: Qiang Yu Reviewed-by: Emil Velikov Commit: 45e0eb4b156f2155687cce268b07f10540fc507b https://github.com/XQuartz/xorg-server/commit/45e0eb4b156f2155687cce268b07f10540fc507b Author: Michel Dänzer Date: 2017-02-01 (Wed, 01 Feb 2017) Changed paths: M hw/xfree86/loader/loadmod.c Log Message: ----------- loader: Handle mod->VersionInfo == NULL This can happen when a module fails to load: Program received signal SIGSEGV, Segmentation fault. UnloadModule (_mod=0x5555559d9280) at ../../../../hw/xfree86/loader/loadmod.c:848 848 name = mod->VersionInfo->modname; (gdb) bt #0 UnloadModule (_mod=0x5555559d9280) at ../../../../hw/xfree86/loader/loadmod.c:848 #1 0x00005555555ddd1b in LoadModule (module=module at entry=0x5555559c7ce0 "fbdev", options=0x0, modreq=modreq at entry=0x0, errmaj=errmaj at entry=0x7fffffffe8ec) at ../../../../hw/xfree86/loader/loadmod.c:824 #2 0x00005555555edfe9 in xf86LoadModules (list=list at entry=0x5555559dcf50, optlist=optlist at entry=0x0) at ../../../../hw/xfree86/common/xf86Init.c:1506 #3 0x00005555555ee7bc in InitOutput (pScreenInfo=pScreenInfo at entry=0x5555559abf80 , argc=argc at entry=4, argv=argv at entry=0x7fffffffeb18) at ../../../../hw/xfree86/common/xf86Init.c:484 #4 0x00005555555a885c in dix_main (argc=4, argv=0x7fffffffeb18, envp=) at ../../dix/main.c:197 #5 0x00007ffff5d582b1 in __libc_start_main (main=0x555555593130
, argc=4, argv=0x7fffffffeb18, init=, fini=, rtld_fini=, stack_end=0x7fffffffeb08) at ../csu/libc-start.c:291 #6 0x000055555559316a in _start () Fixes: 8e83eacb9e2d ("loader: Remove unused path and name from ModuleDescPtr") Signed-off-by: Michel Dänzer Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: bb9128fdc86decd6f6e3b0e145011a8c08b1d2b5 https://github.com/XQuartz/xorg-server/commit/bb9128fdc86decd6f6e3b0e145011a8c08b1d2b5 Author: Qiang Yu Date: 2017-02-01 (Wed, 01 Feb 2017) Changed paths: M present/present.c Log Message: ----------- present: disable page flip only when a slave crtc is active This prevents the tearing of moving window in a composite WM desktop when output slave is attached but none of its crtc is really active. Signed-off-by: Qiang Yu Reviewed-by: Michel Dänzer Commit: 7198a6d4e74f684cb383b3e0f70dd2bae405e6e7 https://github.com/XQuartz/xorg-server/commit/7198a6d4e74f684cb383b3e0f70dd2bae405e6e7 Author: Chris Wilson Date: 2017-02-06 (Mon, 06 Feb 2017) Changed paths: M hw/xfree86/ramdac/xf86HWCurs.c Log Message: ----------- xfree86: Take the input lock for xf86RecolorCursor xf86RecolorCursor() may be called directly from XRecolorCursor as well as from xf86ScreenSetCursor(). In the latter case, the input lock is already held, but not for the former and so we need to add a wrapper function that acquires the input lock before performing xf86RecolorCursor() References: https://bugs.freedesktop.org/show_bug.cgi?id=99358 Commit: cfddd919cce4178baba07959e5e862d02e166522 https://github.com/XQuartz/xorg-server/commit/cfddd919cce4178baba07959e5e862d02e166522 Author: Chris Wilson Date: 2017-02-06 (Mon, 06 Feb 2017) Changed paths: M hw/xfree86/ramdac/xf86HWCurs.c Log Message: ----------- xfree86: Take input lock for xf86TransparentCursor Commit: 3eb964e25243056dd998f52d3b00171b71c89189 https://github.com/XQuartz/xorg-server/commit/3eb964e25243056dd998f52d3b00171b71c89189 Author: Chris Wilson Date: 2017-02-06 (Mon, 06 Feb 2017) Changed paths: M hw/xfree86/ramdac/xf86HWCurs.c Log Message: ----------- xfree86: Take input_lock() for xf86ScreenCheckHWCursor Commit: 0702f2e840370be53d129fc5e3c243dac47ee720 https://github.com/XQuartz/xorg-server/commit/0702f2e840370be53d129fc5e3c243dac47ee720 Author: Peter Hutterer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland-output.c Log Message: ----------- xwayland: replace hardcoded function name with __func__ in error msg Signed-off-by: Peter Hutterer Reviewed-by: Pekka Paalanen Reviewed-by: Olivier Fourdan Commit: e50da50118408a195d4d2e1b39817fe7c4447c56 https://github.com/XQuartz/xorg-server/commit/e50da50118408a195d4d2e1b39817fe7c4447c56 Author: Adam Jackson Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xfree86/dri/xf86dri.c Log Message: ----------- dri1: Remove some dead event code Signed-off-by: Adam Jackson Reviewed-by: Michel Dänzer Commit: 3ef16dfb9830bd6b41ae428f4f213ae0c35c1056 https://github.com/XQuartz/xorg-server/commit/3ef16dfb9830bd6b41ae428f4f213ae0c35c1056 Author: Mihail Konev Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/dmx/Makefile.am Log Message: ----------- dmx: fix linking Reviewed-by: Adam Jackson Commit: c02f6a687c3d6bd0727322b055ee788f8fefa005 https://github.com/XQuartz/xorg-server/commit/c02f6a687c3d6bd0727322b055ee788f8fefa005 Author: Michael Thayer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xfree86/modes/xf86Crtc.h M hw/xfree86/modes/xf86Cursors.c M hw/xfree86/ramdac/xf86Cursor.h M hw/xfree86/ramdac/xf86HWCurs.c Log Message: ----------- xfree86: Immediately handle failure to set HW cursor, v5 Based on v4 by Alexandre Courbot There is currently no reliable way to report failure to set a HW cursor. Still such failures can happen if e.g. the MODE_CURSOR DRM ioctl fails (which currently happens at least with modesetting on Tegra for format incompatibility reasons). As failures are currently handled by setting the HW cursor size to (0,0), the fallback to SW cursor will not happen until the next time the cursor changes and xf86CursorSetCursor() is called again. In the meantime, the cursor will be invisible to the user. This patch addresses that by adding _xf86CrtcFuncs::set_cursor_check and _xf86CursorInfoRec::ShowCursorCheck hook variants that return booleans. This allows to propagate errors up to xf86CursorSetCursor(), which can then fall back to using the SW cursor immediately. v5: Updated the patch to apply to current git HEAD, split up into two patches (server and modesetting driver) and adjusted the code slightly to match surrounding code. I also removed the new exported function ShowCursorCheck(), as instead just changing ShowCursor() to return Bool should not affect its current callers. Reviewed-by: Adam Jackson Signed-off-by: Michael Thayer Commit: ecd0a62323f26b333c49bddd7237dd5118482a35 https://github.com/XQuartz/xorg-server/commit/ecd0a62323f26b333c49bddd7237dd5118482a35 Author: Michael Thayer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c M hw/xfree86/drivers/modesetting/drmmode_display.h Log Message: ----------- modesetting: Immediately handle failure to set HW cursor, v5 Based on v4 by Alexandre Courbot There is currently no reliable way to report failure to set a HW cursor. Still such failures can happen if e.g. the MODE_CURSOR DRM ioctl fails (which currently happens at least with modesetting on Tegra for format incompatibility reasons). As failures are currently handled by setting the HW cursor size to (0,0), the fallback to SW cursor will not happen until the next time the cursor changes and xf86CursorSetCursor() is called again. In the meantime, the cursor will be invisible to the user. This patch addresses that by adding _xf86CrtcFuncs::set_cursor_check and _xf86CursorInfoRec::ShowCursorCheck hook variants that return booleans. This allows to propagate errors up to xf86CursorSetCursor(), which can then fall back to using the SW cursor immediately. v5: - Removed parts of patch already committed as part of 14c21ea1. - Adjusted code slightly to match surrounding code. - Effectively reverted af916477 which is made unnecessary by this patch. Reviewed-by: Adam Jackson Signed-off-by: Michael Thayer Commit: eb04b20160d706d4e0e67122d0adb1e723c0da92 https://github.com/XQuartz/xorg-server/commit/eb04b20160d706d4e0e67122d0adb1e723c0da92 Author: Michael Thayer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c M hw/xfree86/drivers/modesetting/drmmode_display.h Log Message: ----------- modesetting: allow switching from software to hardware cursors (v5). Currently if modesetting ever fails to set a hardware cursor it will switch to using a software cursor and never go back. Change this to only permanently switch to a software cursor if -ENXIO is returned (which means hardware cursors not supported), and to otherwise still try a hardware cursor first every time a new one is set. This is needed because hardware may be able to handle some cursors in hardware and others not, or virtual hardware may be able to handle hardware cursors at some times and not others. Changes since v1, v2 and v3: * take into account the switch to load_cursor_argb_check * keep the permanent software cursor fall-back if -ENXIO is returned * move parts of v3 into separate patches Reviewed-by: Adam Jackson Signed-off-by: Michael Thayer Commit: b5b292896f647c85f03f53b20b2f03c0e94de428 https://github.com/XQuartz/xorg-server/commit/b5b292896f647c85f03f53b20b2f03c0e94de428 Author: Michel Dänzer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M dix/pixmap.c Log Message: ----------- prime: Sync shared pixmap from root window instead of screen pixmap The screen pixmap doesn't receive updates while there's a Present flip window. Reviewed-by: Alex Deucher Signed-off-by: Michel Dänzer Commit: 542d9f6807ac06b70f564ccab10af69fa21a1221 https://github.com/XQuartz/xorg-server/commit/542d9f6807ac06b70f564ccab10af69fa21a1221 Author: Michel Dänzer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M present/present.c Log Message: ----------- present: Allow flipping with PRIME slave outputs Works fine now. Reviewed-by: Alex Deucher Signed-off-by: Michel Dänzer Commit: 1c78bec9ca3cd1975a38bf5ebdba7dea65b309ab https://github.com/XQuartz/xorg-server/commit/1c78bec9ca3cd1975a38bf5ebdba7dea65b309ab Author: Svitozar Cherepii Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xwayland/xwayland-cvt.c Log Message: ----------- xwayland: Add hack for FWXGA resolution #99574 For some applications (like fullscreen games) it matters for XRandr resolution to be correctly set and equal to root window resolution. In XServer there is already hack for this, adapted it for XWayland. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99574 Signed-off-by: Svitozar Cherepii Tested-by: Svitozar Cherepii Acked-by: Olivier Fourdan Commit: 38696ea56854e055c31bd2730adfc7c39aa115b0 https://github.com/XQuartz/xorg-server/commit/38696ea56854e055c31bd2730adfc7c39aa115b0 Author: Michel Dänzer Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M configure.ac M miext/damage/damage.c Log Message: ----------- damage: Validate source pictures bound to windows before unwrapping The lower layers also do this, but no damage may be reported there, since we unwrap before calling down. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99220 Signed-off-by: Michel Dänzer Reviewed-by: Alex Deucher Commit: afeace27d3818274b75d59375771dc964d2f56bb https://github.com/XQuartz/xorg-server/commit/afeace27d3818274b75d59375771dc964d2f56bb Author: Olivier Fourdan Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xwayland/xwayland-output.c Log Message: ----------- xwayland: CRTC should support all rotations If the Wayland compositor sets a rotation on the output, Xwayland translates the transformation as an xrandr rotation for the given output. However, if the rotation is not supported by the CRTC, this is not a valid setup and xrandr queries will fail. Pretend we support all rotations and reflections so that the configuration remains a valid xrandr setup. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663 Signed-off-by: Olivier Fourdan Reviewed-by: Adam Jackson Commit: 058809c43ec578a407cf40d4c3e54a42503e3562 https://github.com/XQuartz/xorg-server/commit/058809c43ec578a407cf40d4c3e54a42503e3562 Author: Olivier Fourdan Date: 2017-02-08 (Wed, 08 Feb 2017) Changed paths: M hw/xwayland/xwayland-output.c Log Message: ----------- xwayland: Apply output rotation for screen size Previously, we would swap the width/height of the Xwayland output based on the output rotation, so that the overall screen size would match the actual rotation of each output. Problem is the RandR's ConstrainCursorHarder() handler will also apply the output rotation, meaning that when the output is rotated, the pointer will be constrained within the wrong dimension. Moreover, XRandR assumes the original output width/height are unchanged when the output is rotated, so by changing the Xwayland output width and height based on rotation, Xwayland causes XRandr to report the wrong output sizes (an output of size 1024x768 rotated left or right should remain 1024x768, not 768x1024). So to avoid this issue and keep things consistent between Wayland and Xwayland outputs, leave the actual width/height unchanged but apply the rotation when computing the screen size. This fixes both the output size being wrong in "xrandr -q" and the pointer being constrained in the wrong dimension with rotated with weston. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663 Signed-off-by: Olivier Fourdan Reviewed-by: Adam Jackson Commit: 3f9507ed2f7246b2c8cf2bbc430cc99c5f35c92a https://github.com/XQuartz/xorg-server/commit/3f9507ed2f7246b2c8cf2bbc430cc99c5f35c92a Author: Adam Jackson Date: 2017-02-09 (Thu, 09 Feb 2017) Changed paths: M hw/xfree86/common/xf86Module.h Log Message: ----------- xfree86: Bump video ABI to 24.0 c02f6a68 changed the layout of xf86CrtcFuncs. Signed-off-by: Adam Jackson Commit: 4c00609c370dab130b69207cb2684c2b92bd3084 https://github.com/XQuartz/xorg-server/commit/4c00609c370dab130b69207cb2684c2b92bd3084 Author: Alan Coopersmith Date: 2017-02-14 (Tue, 14 Feb 2017) Changed paths: M os/client.c Log Message: ----------- DetermineClientCmd: try using /proc/pid/cmdline on Solaris too Solaris 11.3.5 introduced support for /proc/pid/cmdline, so try it first, and if we can't open it, then fallback to /proc/pid/psinfo as we did before. Reviewed-by: Adam Jackson Signed-off-by: Alan Coopersmith Commit: 3e1a23281dd64ee7457f36208cac77c01846a28f https://github.com/XQuartz/xorg-server/commit/3e1a23281dd64ee7457f36208cac77c01846a28f Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86str.h Log Message: ----------- xfree86: Fix a comment about ScrnInfoRec We don't actually need (or intend) to keep this struct the same across revisions. Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 5a945f54e738f6e9c5a489febdd8b87cd8a41210 https://github.com/XQuartz/xorg-server/commit/5a945f54e738f6e9c5a489febdd8b87cd8a41210 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86Mode.c M hw/xfree86/common/xf86str.h M hw/xfree86/doc/ddxDesign.xml Log Message: ----------- xfree86: Remove max[HV]Value from ScrnInfoRec Only mach64 and rendition actually use this feature. Everyone else just checks it in their ValidMode hook, they can too. Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 76ef102be3b47d23ebfaaaa04fb5cfc0511d43f1 https://github.com/XQuartz/xorg-server/commit/76ef102be3b47d23ebfaaaa04fb5cfc0511d43f1 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86Mode.c M hw/xfree86/common/xf86str.h M hw/xfree86/doc/ddxDesign.xml Log Message: ----------- xfree86: Drop virtualFrom from ScrnInfoRec Seriously not worth the effort of tracking this, especially now that competent drivers don't have a limit. The sis driver does inspect this member, but hilariously does so only so it can print the same information as the core does. Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 0b6f2806029493afa246b4472ee88fc173976c5a https://github.com/XQuartz/xorg-server/commit/0b6f2806029493afa246b4472ee88fc173976c5a Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86Config.c M hw/xfree86/common/xf86Configure.c M hw/xfree86/common/xf86str.h M hw/xfree86/doc/ddxDesign.xml M hw/xfree86/man/xorg.conf.man M hw/xfree86/parser/Device.c M hw/xfree86/parser/xf86Parser.h Log Message: ----------- xfree86: Remove Option "BiosBase" (v2) Just no. The ddxDesign chunk removes the whole para about xf86FixPciResource, since it turns out that function doesn't exist at all anymore. The only drivers that reference this at all are i128 and mga, and even then only in the non-pciaccess path. v2: - Update commentary about i128/mga - Don't remove the BiosBase keyword from the config parser since that would turn a no-op into a fatal error (Aaron Plattner) Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 4dcf68e41857cdf78387a6232160cba5cb467fb0 https://github.com/XQuartz/xorg-server/commit/4dcf68e41857cdf78387a6232160cba5cb467fb0 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86str.h M hw/xfree86/doc/ddxDesign.xml Log Message: ----------- xfree86: Remove memClk from ScrnInfoRec Never set by the core, not used in any modern driver. Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 47db92473f7da2b7d6775ff681ec747009f8cf3f https://github.com/XQuartz/xorg-server/commit/47db92473f7da2b7d6775ff681ec747009f8cf3f Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86str.h Log Message: ----------- xfree86: Remove unused chipID/Rev from ScrnInfoRec Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 5d29b493666f728eccd8dd91992ea020bd4be9f9 https://github.com/XQuartz/xorg-server/commit/5d29b493666f728eccd8dd91992ea020bd4be9f9 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M hw/xfree86/common/xf86str.h Log Message: ----------- xfree86: Reorganize the reserved ScrnInfoRec slots First, move them to the end of the struct, for marginally better cache locality for the struct members that actually have meaning; move the existing slots at the end of the struct up near some others with similar meanings. Second, only keep four slots each of integer, data pointer, and function pointer; we've rarely used this escape hatch so this is still plenty. Reviewed-by: Alex Deucher Reviewed-by: Aaron Plattner Acked-by: Keith Packard Signed-off-by: Adam Jackson Commit: 371ff0c969a38a0013688391bbd7375bc7b6f933 https://github.com/XQuartz/xorg-server/commit/371ff0c969a38a0013688391bbd7375bc7b6f933 Author: Olivier Fourdan Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M configure.ac Log Message: ----------- xwayland: bump wayland-protocols version to 1.7 Xwayland support for pointer locking in confinement requires wayland-protocols version 1.7 or later. Update the required version in configure.ac to match the minimal required version of wayland-protocols. Reviewed-by: Adam Jackson Signed-off-by: Olivier Fourdan Commit: a6566f9e4dbf9ea9568a14e22cb5d004e10dbd4d https://github.com/XQuartz/xorg-server/commit/a6566f9e4dbf9ea9568a14e22cb5d004e10dbd4d Author: Michel Dänzer Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M dix/pixmap.c Log Message: ----------- prime: Clear PixmapDirtyUpdateRec::damage when it's destroyed The root window, and by extension any damage records referencing it, may be destroyed before shared pixmaps referencing it, which resulted in use-after-free / double-free in PixmapStopDirtyTracking. Fixes: b5b292896f64 ("prime: Sync shared pixmap from root window instead of screen pixmap") Reviewed-by: Adam Jackson Signed-off-by: Michel Dänzer Commit: 790c1c0b10968776440a962e1fc6d1d3157b1559 https://github.com/XQuartz/xorg-server/commit/790c1c0b10968776440a962e1fc6d1d3157b1559 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M fb/wfbrename.h Log Message: ----------- wfb: Add missing rename for fbGlyphs Reviewed-by: Alex Deucher Signed-off-by: Adam Jackson Commit: 706e6d9cd074da606016ed4ecff51e9c2a822087 https://github.com/XQuartz/xorg-server/commit/706e6d9cd074da606016ed4ecff51e9c2a822087 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M fb/fb.h Log Message: ----------- wfb: Hide init function decls behind FB_ACCESS_WRAPPER Reviewed-by: Alex Deucher Signed-off-by: Adam Jackson Commit: 4c7d229582a97e07014091909745ac7dc4d5e93e https://github.com/XQuartz/xorg-server/commit/4c7d229582a97e07014091909745ac7dc4d5e93e Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M fb/fb.h Log Message: ----------- fb: Remove unused fbGetFreeCompClip macro Reviewed-by: Alex Deucher Signed-off-by: Adam Jackson Commit: e161853f380a0b176c81284024066cb2776136c3 https://github.com/XQuartz/xorg-server/commit/e161853f380a0b176c81284024066cb2776136c3 Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M fb/fb.h M fb/wfbrename.h Log Message: ----------- fb: Remove stray references to fbHasVisualTypes Removed in 84e8de12. Reviewed-by: Alex Deucher Signed-off-by: Adam Jackson Commit: 8b170c4447868c8d4656cf2143f009db20885f3a https://github.com/XQuartz/xorg-server/commit/8b170c4447868c8d4656cf2143f009db20885f3a Author: Adam Jackson Date: 2017-02-16 (Thu, 16 Feb 2017) Changed paths: M mi/migc.h Log Message: ----------- mi: Add include guards to migc.h Reviewed-by: Alex Deucher Signed-off-by: Adam Jackson Commit: 23d85c54421ebdd12460566918fcb7f309d2ee30 https://github.com/XQuartz/xorg-server/commit/23d85c54421ebdd12460566918fcb7f309d2ee30 Author: Olivier Fourdan Date: 2017-02-20 (Mon, 20 Feb 2017) Changed paths: M os/io.c Log Message: ----------- os: remove unused define MAX_TIMES_PER Remove leftover from commit e10ba9e, MAX_TIMES_PER is not used anymore. Signed-off-by: Olivier Fourdan Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: dcb63deb1b6337781943a7bea5bb2b04c6d76b55 https://github.com/XQuartz/xorg-server/commit/dcb63deb1b6337781943a7bea5bb2b04c6d76b55 Author: Chris Wilson Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M os/inputthread.c Log Message: ----------- inputthread: Initialise inputThreadInfo->changed before use ==8734== Thread 2 InputThread: ==8734== Conditional jump or move depends on uninitialised value(s) ==8734== at 0x2FDB05: InputThreadDoWork (inputthread.c:333) ==8734== by 0x6924423: start_thread (pthread_create.c:333) ==8734== by 0x6C229BE: clone (clone.S:105) Signed-off-by: Chris Wilson Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: acdb5bf2de57c0080d2a6e730c788a0a428e13dc https://github.com/XQuartz/xorg-server/commit/acdb5bf2de57c0080d2a6e730c788a0a428e13dc Author: Chris Wilson Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M os/busfault.c Log Message: ----------- os: Fix iteration over busfaults Fixes a regression from commit 41da295eb50fa08eaacd0ecde99f43a716fcb41a Author: Keith Packard Date: Sun Nov 3 13:12:40 2013 -0800 Trap SIGBUS to handle truncated shared memory segments that causes the SIGBUS handler to fail to chain up correctly and corrupts nearby memory instead. Signed-off-by: Chris Wilson Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: d8161aeb50891ae10c5656487ce8f982deed5f9f https://github.com/XQuartz/xorg-server/commit/d8161aeb50891ae10c5656487ce8f982deed5f9f Author: Dr.-Ing. Dieter Jurzitza Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M glamor/glamor_dash.c Log Message: ----------- glamor: Fix missing declaration in dash vertex shader Fixes a GLSL compilation error: Failed to compile VS: 0:13(43): error: `pos' undeclared 0:13(14): error: operands to arithmetic operators must be numeric 0:13(13): error: operands to arithmetic operators must be numeric Tested-by: Stefan Dirsch Reviewed-by: Adam Jackson Commit: fde5cd78488f3370c92397868ca78929296f7ad1 https://github.com/XQuartz/xorg-server/commit/fde5cd78488f3370c92397868ca78929296f7ad1 Author: Mihail Konev Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M test/Makefile.am M test/tests.c Log Message: ----------- tests: Fix guards for ld -wrap Fixes XQuartz build. Regressed-in: 23f6dbc96e47be6cbeed78cc9ef303987c3e29a9 Reviewed-by: Adam Jackson Signed-off-by: Mihail Konev Commit: 50bcea8be337ea983e464f2b5b8b2dc6d1024532 https://github.com/XQuartz/xorg-server/commit/50bcea8be337ea983e464f2b5b8b2dc6d1024532 Author: Adam Jackson Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M dix/property.c Log Message: ----------- dix: Pass the whole property into deliverPropertyNotifyEvent Instead of just the atom. No functional change. Signed-off-by: Adam Jackson Signed-off-by: Pekka Paalanen Commit: 8e3f9ce6c06e7605832c55dfd180396f66ec8b66 https://github.com/XQuartz/xorg-server/commit/8e3f9ce6c06e7605832c55dfd180396f66ec8b66 Author: Adam Jackson Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M dix/property.c M include/property.h Log Message: ----------- dix: Add a callback chain for window property state change This will be used by in-server features that need to react to property changes. The first one will be _XWAYLAND_ALLOW_COMMITS. Signed-off-by: Adam Jackson [Pekka: add commit message body] Signed-off-by: Pekka Paalanen Commit: f7b8560f23ac5582e2f97dc9f6de32a42e61e520 https://github.com/XQuartz/xorg-server/commit/f7b8560f23ac5582e2f97dc9f6de32a42e61e520 Author: Pekka Paalanen Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M hw/xwayland/xwayland.c Log Message: ----------- xwayland: refactor into xwl_window_post_damage() Refactor xwl_screen_post_damage() and split the window specific code into a new function xwl_window_post_damage(). This is a pure refactoring, there are no behavioral changes. An assert is added to xwl_window_post_damage() to ensure frame callbacks are not leaked if a future patch changes the call. Signed-off-by: Pekka Paalanen Reviewed-by: Olivier Fourdan Commit: a6308cea602f688ac653e3466cd57767e02093a9 https://github.com/XQuartz/xorg-server/commit/a6308cea602f688ac653e3466cd57767e02093a9 Author: Pekka Paalanen Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M hw/xwayland/xwayland.c Log Message: ----------- xwayland: fix 'buffer' may be used uninitialized warning Fix the following warning due to --disable-glamor: CC Xwayland-xwayland.o In file included from /home/pq/local/include/wayland-client.h:40:0, from xwayland.h:35, from xwayland.c:26: xwayland.c: In function ‘block_handler’: /home/pq/local/include/wayland-client-protocol.h:3446:2: warning: ‘buffer’ may be used uninitialized in this function [-Wmaybe-uninitialized] wl_proxy_marshal((struct wl_proxy *) wl_surface, ^ xwayland.c:466:23: note: ‘buffer’ was declared here struct wl_buffer *buffer; ^ Signed-off-by: Pekka Paalanen Reviewed-by: Olivier Fourdan Commit: 9f4d308cdad957a354912f17febe5bcad7f44812 https://github.com/XQuartz/xorg-server/commit/9f4d308cdad957a354912f17febe5bcad7f44812 Author: Pekka Paalanen Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M hw/xwayland/xwayland.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: use _XWAYLAND_ALLOW_COMMITS property The X11 window manager (XWM) of a Wayland compositor can use the _XWAYLAND_ALLOW_COMMITS property to control when Xwayland sends wl_surface.commit requests. If the property is not set, the behaviour remains what it was. XWM uses the property to inhibit commits until the window is ready to be shown. This gives XWM time to set up the window decorations and internal state before Xwayland does the first commit. XWM can use this to ensure the first commit carries fully drawn decorations and the window management state is correct when the window becomes visible. Setting the property to zero inhibits further commits, and setting it to non-zero allows commits. Deleting the property allows commits. When the property is changed from zero to non-zero, there will be a commit on next block_handler() call provided that some damage has been recorded. Without this patch (i.e. with the old behaviour) Xwayland can and will commit the surface very soon as the application window has been realized and drawn into. This races with XWM and may cause visible glitches. v3: - introduced a simple setter for xwl_window::allow_commits - split xwl_window_property_allow_commits() out of xwl_property_callback() - check MakeAtom(_XWAYLAND_ALLOW_COMMITS) v2: - use PropertyStateCallback instead of XACE, based on the patch "xwayland: Track per-window support for netwm frame sync" by Adam Jackson - check property type is XA_CARDINAL - drop a useless memcpy() Weston Bug: https://phabricator.freedesktop.org/T7622 Reviewed-by: Adam Jackson Signed-off-by: Pekka Paalanen Commit: 7d7788e0f2fbbf5d05cb918df11a5e1b7e047e48 https://github.com/XQuartz/xorg-server/commit/7d7788e0f2fbbf5d05cb918df11a5e1b7e047e48 Author: Olivier Fourdan Date: 2017-02-23 (Thu, 23 Feb 2017) Changed paths: M configure.ac Log Message: ----------- Revert "xwayland: bump wayland-protocols version to 1.7" This reverts commit 371ff0c969a38a0013688391bbd7375bc7b6f933. Reviewed-by: Adam Jackson Commit: 1b12249fd6d4d3b566043d556503f3f625b9b4ba https://github.com/XQuartz/xorg-server/commit/1b12249fd6d4d3b566043d556503f3f625b9b4ba Author: Peter Hutterer Date: 2017-02-27 (Mon, 27 Feb 2017) Changed paths: M include/input.h M os/inputthread.c M os/io.c Log Message: ----------- os: log a bug whenever WriteToClient is called from the input thread The input thread should generate events, not send them. Make it easier to find the instances where it's doing so. Signed-off-by: Peter Hutterer Tested-by: Olivier Fourdan Reviewed-by: Olivier Fourdan Commit: d7ac755f0b618eb1259d93c8a16ec6e39a18627c https://github.com/XQuartz/xorg-server/commit/d7ac755f0b618eb1259d93c8a16ec6e39a18627c Author: Matthieu Herrb Date: 2017-02-28 (Tue, 28 Feb 2017) Changed paths: M configure.ac M include/dix-config.h.in M include/os.h M os/mitauth.c A os/timingsafe_memcmp.c Log Message: ----------- Use timingsafe_memcmp() to compare MIT-MAGIC-COOKIES CVE-2017-2624 Provide the function definition for systems that don't have it. Signed-off-by: Matthieu Herrb Reviewed-by: Alan Coopersmith Commit: 957e8db38f27932d353e86e9aa69cf16778b18f1 https://github.com/XQuartz/xorg-server/commit/957e8db38f27932d353e86e9aa69cf16778b18f1 Author: Matthieu Herrb Date: 2017-02-28 (Tue, 28 Feb 2017) Changed paths: M configure.ac M include/dix-config.h.in M os/auth.c Log Message: ----------- Use arc4random_buf(3) if available to generate cookies. Reviewed-by: Adam Jackson Signed-off-by: Matthieu Herrb Commit: 2855f759b1e7bf7f5e57cac36c1f0d0e5ac1a683 https://github.com/XQuartz/xorg-server/commit/2855f759b1e7bf7f5e57cac36c1f0d0e5ac1a683 Author: Matthieu Herrb Date: 2017-02-28 (Tue, 28 Feb 2017) Changed paths: M os/auth.c M os/mitauth.c M os/osdep.h M os/rpcauth.c M os/xdmauth.c Log Message: ----------- auth: remove AuthToIDFunc and associated functions. Not used anymore. And the current code for MitToId has a use-after-free() issue. [Also remove the actual implementations - ajax] Signed-off-by: Matthieu Herrb Reviewed-by: Alan Coopersmith Commit: c9cbdada755f1d00d164bef7833f1aef139ffeb0 https://github.com/XQuartz/xorg-server/commit/c9cbdada755f1d00d164bef7833f1aef139ffeb0 Author: Adam Jackson Date: 2017-02-28 (Tue, 28 Feb 2017) Changed paths: M hw/vfb/InitOutput.c Log Message: ----------- vfb: Bump default depth to 24 Signed-off-by: Adam Jackson Acked-by: Keith Packard Reviewed-by: Eric Anholt Commit: 8c9909a99292b2fb4a86de694bb0029f61e35662 https://github.com/XQuartz/xorg-server/commit/8c9909a99292b2fb4a86de694bb0029f61e35662 Author: Olivier Fourdan Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Make sure we have a focus window During the InitInput() phase, the wayland events get dequeued so we can possibly end up calling dispatch_pointer_motion_event(). If this occurs before xwl_seat->focus_window is set, it leads to a NULL pointer derefence and a segfault. Check for xwl_seat->focus_window in both pointer_handle_frame() and relative_pointer_handle_relative_motion() prior to calling dispatch_pointer_motion_event() like it's done in pointer_handle_motion(). Bugzilla: https://bugzilla.redhat.com/1410804 Signed-off-by: Olivier Fourdan Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: dc7ceda90fdedb2212f105095fe8d449bfdb0eb4 https://github.com/XQuartz/xorg-server/commit/dc7ceda90fdedb2212f105095fe8d449bfdb0eb4 Author: Adam Jackson Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M Xext/dpms.c M Xext/geext.c M Xext/panoramiXSwap.c M Xext/saver.c M Xext/security.c M Xext/shape.c M Xext/shm.c M Xext/sync.c M Xext/vidmode.c M Xext/xcmisc.c M Xext/xf86bigfont.c M Xext/xres.c M Xext/xselinux_ext.c M Xext/xtest.c M Xext/xvdisp.c M Xext/xvmain.c M Xext/xvmc.c M Xi/allowev.c M Xi/chgdctl.c M Xi/chgfctl.c M Xi/chgkbd.c M Xi/chgkmap.c M Xi/chgprop.c M Xi/chgptr.c M Xi/closedev.c M Xi/devbell.c M Xi/extinit.c M Xi/getbmap.c M Xi/getdctl.c M Xi/getfctl.c M Xi/getfocus.c M Xi/getkmap.c M Xi/getmmap.c M Xi/getprop.c M Xi/getselev.c M Xi/getvers.c M Xi/grabdev.c M Xi/grabdevb.c M Xi/grabdevk.c M Xi/gtmotion.c M Xi/listdev.c M Xi/opendev.c M Xi/queryst.c M Xi/selectev.c M Xi/sendexev.c M Xi/setbmap.c M Xi/setdval.c M Xi/setfocus.c M Xi/setmmap.c M Xi/setmode.c M Xi/ungrdev.c M Xi/ungrdevb.c M Xi/ungrdevk.c M Xi/xiallowev.c M Xi/xibarriers.c M Xi/xichangecursor.c M Xi/xichangehierarchy.c M Xi/xigetclientpointer.c M Xi/xigrabdev.c M Xi/xipassivegrab.c M Xi/xiproperty.c M Xi/xiquerydevice.c M Xi/xiquerypointer.c M Xi/xiqueryversion.c M Xi/xiselectev.c M Xi/xisetclientpointer.c M Xi/xisetdevfocus.c M Xi/xiwarppointer.c M composite/compext.c M damageext/damageext.c M dbe/dbe.c M dix/swaprep.c M dix/swapreq.c M dri3/dri3_request.c M hw/dmx/dmx.c M hw/xfree86/common/xf86DGA.c M hw/xfree86/dri/xf86dri.c M hw/xfree86/dri2/dri2ext.c M present/present_request.c M randr/randr.c M randr/rrsdispatch.c M randr/rrxinerama.c M record/record.c M render/render.c M xfixes/cursor.c M xfixes/region.c M xfixes/saveset.c M xfixes/select.c M xfixes/xfixes.c M xkb/xkbSwap.c Log Message: ----------- dispatch: Mark swapped dispatch as _X_COLD This touches everything that ends up in the Xorg binary; the big missing part is GLX since that's all generated code. Cuts about 14k from the binary on amd64. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: 386fbbe410a1168b724136e54cf3bd37fb64ad4e https://github.com/XQuartz/xorg-server/commit/386fbbe410a1168b724136e54cf3bd37fb64ad4e Author: Matthieu Herrb Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M configure.ac M os/auth.c Log Message: ----------- Brown bag commit to fix 957e8d (arc4random_buf() support) - typo in #ifdef check - also need to add AC_CHECK_FUNCS([arc4random_buf]) Reported-by Eric Engestrom. Thanks Reviewed-by: Adam Jackson Signed-off-by: Matthieu Herrb Commit: 3dad57b121fdf001e75fffa7e3007a9a0a154f67 https://github.com/XQuartz/xorg-server/commit/3dad57b121fdf001e75fffa7e3007a9a0a154f67 Author: Adam Jackson Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M hw/xfree86/sdksyms.sh Log Message: ----------- sdksyms: Tighten up the symbols we add to the magic table The code as written would match anything declared extern. _X_EXPORT is what we really mean here. That's a macro, so check for what it expands to and skip if not found. Signed-off-by: Adam Jackson Reviewed-by: Peter Hutterer Commit: 35fbcb3f9987758bc26a87d5d7c033f4367cbd39 https://github.com/XQuartz/xorg-server/commit/35fbcb3f9987758bc26a87d5d7c033f4367cbd39 Author: Adam Jackson Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M configure.ac M hw/kdrive/Makefile.am R hw/kdrive/fake/.gitignore R hw/kdrive/fake/Makefile.am R hw/kdrive/fake/fake.c R hw/kdrive/fake/fake.h R hw/kdrive/fake/fakeinit.c R hw/kdrive/fake/kbd.c R hw/kdrive/fake/mouse.c R hw/kdrive/fake/os.c Log Message: ----------- xfake: Remove We already have Xvfb for a dummy DDX. Signed-off-by: Adam Jackson Acked-by: Alex Deucher Commit: feed7e3f982a7ac14f6fe85ed2e1ec4a83700841 https://github.com/XQuartz/xorg-server/commit/feed7e3f982a7ac14f6fe85ed2e1ec4a83700841 Author: Adam Jackson Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M configure.ac M hw/kdrive/Makefile.am R hw/kdrive/fbdev/.gitignore R hw/kdrive/fbdev/Makefile.am R hw/kdrive/fbdev/Xfbdev.man R hw/kdrive/fbdev/fbdev.c R hw/kdrive/fbdev/fbdev.h R hw/kdrive/fbdev/fbinit.c Log Message: ----------- xfbdev: Remove With the shadow framebuffer overallocation bug fixed (ref below), Xorg + fbdev has tens to hundreds of kilobytes more baseline memory usage than Xfbdev. That's not nothing, but it's little enough that we should focus our efforts on the server that actually gets development attention. https://cgit.freedesktop.org/xorg/driver/xf86-video-fbdev/commit/?id=2c5eba8 Signed-off-by: Adam Jackson Acked-by: Alex Deucher Commit: 27819950e4158326e0f83a30f2e8968b932625ef https://github.com/XQuartz/xorg-server/commit/27819950e4158326e0f83a30f2e8968b932625ef Author: Adam Jackson Date: 2017-03-01 (Wed, 01 Mar 2017) Changed paths: M configure.ac M hw/kdrive/Makefile.am R hw/kdrive/linux/Makefile.am R hw/kdrive/linux/evdev.c R hw/kdrive/linux/linux.c R hw/kdrive/linux/tslib.c Log Message: ----------- kdrive: Remove now-unused linux backend With Xfbdev gone this has no consumers. Signed-off-by: Adam Jackson Acked-by: Alex Deucher Commit: fe5c340046c8cf755b92763a49b2dc475e856a76 https://github.com/XQuartz/xorg-server/commit/fe5c340046c8cf755b92763a49b2dc475e856a76 Author: Olivier Fourdan Date: 2017-03-02 (Thu, 02 Mar 2017) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: do not set checkRepeat on master kbd keyboard_check_repeat() fetches the XWayland seat from the dev->public.devicePrivate do do its thing. If a key event is sent programmatically through Xtest, our device is the virtual core keyboard and that has a dev->public.devicePrivate of NULL, leading to a segfault in keyboard_check_repeat(). This is the case with "antimicro" which sends key events based on the joystick buttons. Don't set the checkRepeat handler on the VCK since it cannot possibly work anyway and it has no effect on the actual checkRepeat intended functionality. Bugzilla: https://bugzilla.redhat.com/1416244 Signed-off-by: Olivier Fourdan Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 9426c5500b72e1fe004fef4c3b259023c4ec49f7 https://github.com/XQuartz/xorg-server/commit/9426c5500b72e1fe004fef4c3b259023c4ec49f7 Author: Adam Jackson Date: 2017-03-02 (Thu, 02 Mar 2017) Changed paths: M mi/miarc.c Log Message: ----------- miarc: Style cleanup for miWideArc Outdent, normalize comment formatting, and use 'goto out' idiom for error paths. No functional change. Reviewed-by: Keith Packard Signed-off-by: Adam Jackson Commit: 849c825855b82caf44d25edb8155bc9f17869256 https://github.com/XQuartz/xorg-server/commit/849c825855b82caf44d25edb8155bc9f17869256 Author: Adam Jackson Date: 2017-03-02 (Thu, 02 Mar 2017) Changed paths: M mi/miarc.c Log Message: ----------- miarc: Make the caller free the arc span data drawArc does some fairly expensive computation, but it's only sensitive to arc width/height. Thread the span data up through the call chain so it's at least possible for the caller to cache things. Reviewed-by: Keith Packard Signed-off-by: Adam Jackson Commit: 0d7f05ed99b71a4641415c9f26e245c3bb24a9a0 https://github.com/XQuartz/xorg-server/commit/0d7f05ed99b71a4641415c9f26e245c3bb24a9a0 Author: Adam Jackson Date: 2017-03-02 (Thu, 02 Mar 2017) Changed paths: M mi/miarc.c Log Message: ----------- miarc: "Cache" arc span data for dashed arcs This avoids recomputing the span data for every dash. x11perf thinks this is a pretty modest speedup: 832919.4 840471.1 ( 1.009) 100-pixel dashed ellipse 672353.1 680652.2 ( 1.012) 100-pixel double-dashed ellipse 13748.9 24287.9 ( 1.767) 100-pixel wide dashed ellipse 9236.3 21298.2 ( 2.306) 100-pixel wide double-dashed ellipse But part of the reason it's so modest there is that the arcs are relatively small (100 pixel diameter at line width 10, so ~6000 pixels) and the dashes relatively large (30 on 20 off so ~6 dashes per quadrant). With larger arcs and finer dashes this is much more impressive. A fairly trivial testcase of a single 15000x13000 arc with the default {2, 2} dash pattern drops from ~3500 milliseconds to 10 milliseconds. Reviewed-by: Keith Packard Signed-off-by: Adam Jackson Commit: 5c44169caed811e59a65ba346de1cadb46d266ec https://github.com/XQuartz/xorg-server/commit/5c44169caed811e59a65ba346de1cadb46d266ec Author: Adam Jackson Date: 2017-03-02 (Thu, 02 Mar 2017) Changed paths: M os/timingsafe_memcmp.c Log Message: ----------- os: Squash missing declaration warning for timingsafe_memcmp timingsafe_memcmp.c:21:1: warning: no previous prototype for ‘timingsafe_memcmp’ [-Wmissing-prototypes] timingsafe_memcmp(const void *b1, const void *b2, size_t len) Signed-off-by: Adam Jackson Commit: 64ca14b85e45b13628396f21d1903e311f92a9e1 https://github.com/XQuartz/xorg-server/commit/64ca14b85e45b13628396f21d1903e311f92a9e1 Author: Olivier Fourdan Date: 2017-03-06 (Mon, 06 Mar 2017) Changed paths: M hw/xwayland/xwayland-glamor.c Log Message: ----------- xwayland: make sure client is not gone in sync callback in XWayland, dri3_send_open_reply() is called from a sync callback, so there is a possibility that the client might be gone when we get to the callback eventually, which leads to a crash in _XSERVTransSendFd() from WriteFdToClient() . Check if clientGone has been set in the sync callback handler to avoid this. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99149 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100040 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1416553 Reviewed-by: Adam Jackson Signed-off-by: Olivier Fourdan Tested-by: Mark B Commit: d4b7e0eaa4b2e97ce1dec653a2ae7d9621fe1431 https://github.com/XQuartz/xorg-server/commit/d4b7e0eaa4b2e97ce1dec653a2ae7d9621fe1431 Author: Olivier Fourdan Date: 2017-03-07 (Tue, 07 Mar 2017) Changed paths: M hw/xwayland/xwayland-cursor.c Log Message: ----------- xwayland: clear cursor frame callback After an X cursor is unrealized, the seat's corresponding x_cursor is cleared, but if a frame callback was pending at the time, it will remain and thus prevent any further cursor update, leaving the window with no cursor. Make sure to destroy the frame callback, if any, when that occurs, so that next time a cursor needs to be set, it won't be ignored for a frame callback that will never be triggered. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1389327 Signed-off-by: Olivier Fourdan Reviewed-by: Pekka Paalanen Reviewed-by: Rui Matos Commit: 9232835bd16b6948442f7a4588fb9376782cb814 https://github.com/XQuartz/xorg-server/commit/9232835bd16b6948442f7a4588fb9376782cb814 Author: Qiang Yu Date: 2017-03-07 (Tue, 07 Mar 2017) Changed paths: M configure.ac M glamor/glamor_egl.c M include/dix-config.h.in Log Message: ----------- glamor: use drmGetDeviceNameFromFD2 when available This is for glamor can support fd from DRM render node which is useful for a render only DDX. Reviewed-by: Adam Jackson Signed-off-by: Qiang Yu Commit: 669eb0a65430678fe97de9405e4e42dcb4417ed2 https://github.com/XQuartz/xorg-server/commit/669eb0a65430678fe97de9405e4e42dcb4417ed2 Author: Jon Turney Date: 2017-03-09 (Thu, 09 Mar 2017) Changed paths: M test/xi2/protocol-common.h M test/xi2/protocol-xiselectevents.c Log Message: ----------- test: Use correct signature for XISetEventMask wrapper This looks like it's always been wrong, but didn't matter before the single test binary changes as the wrapper was only in place for tests which didn't care about it's effects, so didn't forward to the real implementation. (see the changes to protocol-xiselectevents.c in 773fc07e) This fixes the protocol_xigetselectedevents_test for me. I'm a bit surprised that passes for anyone at the moment. Signed-off-by: Jon Turney Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 937527f9798d573ec82c2c508821899c229c018f https://github.com/XQuartz/xorg-server/commit/937527f9798d573ec82c2c508821899c229c018f Author: Olivier Fourdan Date: 2017-03-09 (Thu, 09 Mar 2017) Changed paths: M hw/xwayland/xwayland-glamor.c Log Message: ----------- xwayland: Monitor client states to destroy callbacks Client resources can survive the client itself, in which case we may end up in our sync callback trying to access client's data after it's been freed/reclaimed. Add a ClientStateCallback handler to monitor the client state changes and clear the sync callback set up by the glamor drm code if any. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100040 Tested-by: Mark B Signed-off-by: Olivier Fourdan Reviewed-by: Michel Dänzer Commit: 0c1574d9882a91b2c1a046bf4ac5a9b138a37965 https://github.com/XQuartz/xorg-server/commit/0c1574d9882a91b2c1a046bf4ac5a9b138a37965 Author: Michel Dänzer Date: 2017-03-09 (Thu, 09 Mar 2017) Changed paths: M glamor/glamor_dash.c Log Message: ----------- glamor: Fix typo: "vec2_pos" -> "vec2 pos" Fixes crash when trying to use dashed lines: Failed to compile VS: 0:8(2): error: `vec2_pos' undeclared Trivial. Fixes: d8161aeb5089 ("glamor: Fix missing declaration in dash vertex shader") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99943 Commit: ac15d4cecca377c5c31ab852c39bbd554ca48fe2 https://github.com/XQuartz/xorg-server/commit/ac15d4cecca377c5c31ab852c39bbd554ca48fe2 Author: Tobias Stoeckmann Date: 2017-03-13 (Mon, 13 Mar 2017) Changed paths: M render/render.c Log Message: ----------- render: Fix out of boundary heap access ProcRenderCreateRadialGradient and ProcRenderCreateConicalGradient must be protected against an integer overflow during length check. This is already included in ProcRenderCreateLinearGradient since the fix for CVE-2008-2362. This can only be successfully exploited on a 32 bit system for an out of boundary read later on. Validated by using ASAN. Reviewed-by: Adam Jackson Commit: bca221609004aecbcc8928382ad29ce319d2eb6f https://github.com/XQuartz/xorg-server/commit/bca221609004aecbcc8928382ad29ce319d2eb6f Author: Jon TURNEY Date: 2017-03-14 (Tue, 14 Mar 2017) Changed paths: M hw/xfree86/sdksyms.sh Log Message: ----------- xfree86: work around a sdksyms problem with gcc5 on Cygwin The linemarkers in the preprocessor output from gcc5 on Cygwin have canonicalized paths to included files (e.g. xserver/build/../include/misc.h is canonicalized to xserver/build/include/misc.h). (see gcc svn rev 210264, which causes the transformation performed by -fcanonical-system-headers to be applied to all include pathnames) These canonicalized paths won't match $topdir, so sdksyms doesn't look at the contents of those headers for sdk exported symbols. Workaround this by canonicalizing all the paths we consider, using readlink. v2: Keep a cache of readlink results so it isn't quite so dreadfully slow. Reviewed-by: Adam Jackson Commit: 646bc74cded8b77d57312ae858a2ed01b0d17c21 https://github.com/XQuartz/xorg-server/commit/646bc74cded8b77d57312ae858a2ed01b0d17c21 Author: Adam Jackson Date: 2017-03-14 (Tue, 14 Mar 2017) Changed paths: M test/Makefile.am Log Message: ----------- test: Fix distcheck failures Signed-off-by: Adam Jackson Commit: f40ff18c96e02ff18a367bf53feeb4bd8ee952a0 https://github.com/XQuartz/xorg-server/commit/f40ff18c96e02ff18a367bf53feeb4bd8ee952a0 Author: Olivier Fourdan Date: 2017-03-15 (Wed, 15 Mar 2017) Changed paths: M glamor/glamor.c Log Message: ----------- glamor: Check for NULL pixmap in glamor_get_pixmap_texture() glamor_create_pixmap() would return a NullPixmap if the given size is larger than the maximum size of a pixmap. But glamor_get_pixmap_texture() won't check if the given pixmap is non-null, leading to a segfault if glamor_create_pixmap() failed. This can be reproduced by passing Xephyr a very large screen width, e.g.: $ Xephyr -glamor -screen 32768x1024 :10 (EE) (EE) Backtrace: (EE) 0: Xephyr (OsSigHandler+0x29) (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) (EE) 2: Xephyr (glamor_get_pixmap_texture+0x30) (EE) 3: Xephyr (ephyr_glamor_create_screen_resources+0xc6) (EE) 4: Xephyr (ephyrCreateResources+0x98) (EE) 5: Xephyr (dix_main+0x275) (EE) 6: /lib64/libc.so.6 (__libc_start_main+0xf1) (EE) 7: Xephyr (_start+0x2a) (EE) 8: ? (?+0x2a) [0x2a] (EE) (EE) Segmentation fault at address 0x0 (EE) Fatal server error: (EE) Caught signal 11 (Segmentation fault). Server aborting (EE) Aborted (core dumped) Bugzilla: https://bugzilla.redhat.com/1431633 Reviewed-by: Michel Dänzer Signed-off-by: Olivier Fourdan Commit: b0ce1d088a863492f5de11e4dbde10af4261d892 https://github.com/XQuartz/xorg-server/commit/b0ce1d088a863492f5de11e4dbde10af4261d892 Author: Olivier Fourdan Date: 2017-03-15 (Wed, 15 Mar 2017) Changed paths: M hw/kdrive/ephyr/ephyr.c M hw/kdrive/ephyr/hostx.c Log Message: ----------- Xephyr: Check screen resources creation success If the screen pixmap or the corresponding texture creation with glamor fails, exit cleanly with an error message instead of segfaulting. Fixes: https://bugzilla.redhat.com/1431633 Reviewed-by: Michel Dänzer Signed-off-by: Olivier Fourdan Commit: 04b4bad7c048fd077fe839f10634c99ef1e488af https://github.com/XQuartz/xorg-server/commit/04b4bad7c048fd077fe839f10634c99ef1e488af Author: Olivier Fourdan Date: 2017-03-15 (Wed, 15 Mar 2017) Changed paths: M glamor/glamor_transform.c M glamor/glamor_transform.h Log Message: ----------- glamor: glamor_set_destination_drawable() can fail The fbo_array of a given glamor pixmap can be NULL in some cases, as glamor_create_fbo_array() can fail to allocate the FBO array. If this is the case, glamor_pixmap_fbo_at() will return NULL even though the box index is valid, and glamor_set_destination_drawable() simply assumes glamor_pixmap_fbo_at() will return an FBO prior to pass the value to glamor_set_destination_pixmap_fbo(), which will segfault. We need a way for glamor_set_destination_drawable() to fail safely and let the caller know about the failure. Add a boolean return value to glamor_set_destination_drawable() for that purpose. Bugzilla: https://bugzilla.redhat.com/1417575 Signed-off-by: Olivier Fourdan Commit: 455051a0f1d2bc84f605c325f647bd64d414c47d https://github.com/XQuartz/xorg-server/commit/455051a0f1d2bc84f605c325f647bd64d414c47d Author: Olivier Fourdan Date: 2017-03-15 (Wed, 15 Mar 2017) Changed paths: M glamor/glamor_copy.c M glamor/glamor_glyphblt.c M glamor/glamor_lines.c M glamor/glamor_points.c M glamor/glamor_rects.c M glamor/glamor_segs.c M glamor/glamor_spans.c Log Message: ----------- glamor: Check glamor_set_destination_drawable() return value Check the value returned by glamor_set_destination_drawable() and use the fallback code path where possible. Bugzilla: https://bugzilla.redhat.com/1417575 Signed-off-by: Olivier Fourdan Commit: f1f865e909090406841a9b9416ea6259a75c2086 https://github.com/XQuartz/xorg-server/commit/f1f865e909090406841a9b9416ea6259a75c2086 Author: Adam Jackson Date: 2017-03-15 (Wed, 15 Mar 2017) Changed paths: M hw/xfree86/parser/scan.c Log Message: ----------- parser: Fix crash when xf86nameCompare(s1 = x, s2 = NULL) Signed-off-by: Adam Jackson Commit: e337de2d488a124e5fee0fdcb882567b68f1767d https://github.com/XQuartz/xorg-server/commit/e337de2d488a124e5fee0fdcb882567b68f1767d Author: Adam Jackson Date: 2017-03-15 (Wed, 15 Mar 2017) Changed paths: M Xext/panoramiXprocs.c Log Message: ----------- xinerama: Implement graphics exposures for window->pixmap copies (v4) This code is using GetImage to accumulate a logical view of the window image (since the windows will be clipped to their containing screen), and then PutImage to load that back into the pixmap. What it wasn't doing was constructing a region for the obscured areas of the window and emitting graphics exposures for same. v2: Fix coordinate translation when the source is the root window v3: Create sourceBox with the right coordinates initially instead of translating (Keith Packard) v4: Clamp the region to 15 bits to avoid overflow (Keith Packard) Signed-off-by: Adam Jackson Commit: 5b5ba7dc3d544868035b7088e9aac62eb2511e10 https://github.com/XQuartz/xorg-server/commit/5b5ba7dc3d544868035b7088e9aac62eb2511e10 Author: Adam Jackson Date: 2017-03-16 (Thu, 16 Mar 2017) Changed paths: M hw/xfree86/sdksyms.sh Log Message: ----------- Revert "sdksyms: Tighten up the symbols we add to the magic table" Enough people are reporting build issues pointing at this commit that it's not worth the benefit. This reverts commit 3dad57b121fdf001e75fffa7e3007a9a0a154f67. Commit: fe0b297420fc1de8a7fab28457d0864b3182e967 https://github.com/XQuartz/xorg-server/commit/fe0b297420fc1de8a7fab28457d0864b3182e967 Author: Eric Anholt Date: 2017-03-16 (Thu, 16 Mar 2017) Changed paths: M glamor/glamor_dash.c Log Message: ----------- glamor: Fix dashed line rendering. We were binding the screen pixmap as the dash and sampling its alpha, which is usually just 1.0 (no dashing at all). Please cherry-pick this to active stable branches. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Reviewed-by: Michel Dänzer Commit: 83c4297d2c4fd501a9d36bc0cb7d357a8d22394c https://github.com/XQuartz/xorg-server/commit/83c4297d2c4fd501a9d36bc0cb7d357a8d22394c Author: Adam Jackson Date: 2017-03-17 (Fri, 17 Mar 2017) Changed paths: M hw/kdrive/ephyr/hostx.c Log Message: ----------- ephyr: Don't clobber bitsPerPixel when using glamor This ends up passing 0 as the bpp argument to fb screen setup, which is not really the best plan. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: e33be78e2ab63abc84aa0baddff90bcefa9c183a https://github.com/XQuartz/xorg-server/commit/e33be78e2ab63abc84aa0baddff90bcefa9c183a Author: Adam Jackson Date: 2017-03-17 (Fri, 17 Mar 2017) Changed paths: M hw/xfree86/common/xf86.h M hw/xfree86/common/xf86Config.c M hw/xfree86/common/xf86Globals.c M hw/xfree86/common/xf86Helper.c M hw/xfree86/common/xf86Init.c M hw/xfree86/common/xf86Priv.h M hw/xfree86/common/xf86Privstr.h M hw/xfree86/common/xf86str.h M hw/xfree86/man/Xorg.man M hw/xfree86/man/xorg.conf.man Log Message: ----------- xfree86: Remove 24bpp pixmap format support (v2) There's really no reason to pretend to support this, apps hate it, all we're doing is giving people a way to injure themselves. It doesn't work anyway with any Radeon, any NVIDIA chip, or any Intel chip since i810. Rip out all the logic for handling 24bpp pixmaps and framebuffers, and silently ignore the old options that would ask for it. The cirrus alpine driver has been updated to default to 16bpp, and both it and the i810 driver can now use the 32->24 conversion code in shadow if they want. All other drivers support 32bpp. Configurations that explicitly request 24bpp in order to fit in VRAM will be broken now though. v2: Fix command line options to silently ignore 24bpp rather than fail Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 0803918e64262482035f042e5e1f2a571d3dea1b https://github.com/XQuartz/xorg-server/commit/0803918e64262482035f042e5e1f2a571d3dea1b Author: Adam Jackson Date: 2017-03-17 (Fri, 17 Mar 2017) Changed paths: M exa/exa.c M fb/Makefile.am M fb/fb.h R fb/fb24_32.c R fb/fb24_32.h M fb/fbarc.c M fb/fbbits.c M fb/fbbits.h M fb/fbblt.c M fb/fbbltone.c M fb/fbcopy.c M fb/fbgc.c M fb/fbgetsp.c M fb/fbglyph.c M fb/fbimage.c M fb/fbline.c M fb/fboverlay.c M fb/fbpixmap.c M fb/fbpoint.c M fb/fbscreen.c M fb/fbseg.c M fb/fbsetsp.c M fb/fbsolid.c M fb/fbwindow.c M fb/wfbrename.h M glamor/glamor_core.c M include/gcstruct.h M mi/migc.c Log Message: ----------- fb: Remove 24bpp support (v3) v2: - Require power-of-two bpp in ScreenInit - Eliminate fbCreatePixmapBpp v3 - Squash in the exa and glamor changes so we can remove pRotatedPixmap in the same stroke. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 8805a48ed35afb2ca66315656c1575ae5a01c639 https://github.com/XQuartz/xorg-server/commit/8805a48ed35afb2ca66315656c1575ae5a01c639 Author: Olivier Fourdan Date: 2017-03-17 (Fri, 17 Mar 2017) Changed paths: M glamor/glamor_fbo.c Log Message: ----------- glamor: avoid a crash if texture allocation failed Texture creation in _glamor_create_tex() can fail if a GL_OUT_OF_MEMORY is raised, in which case the texture returned is zero. But the texture value is not checked in glamor_create_fbo() and glamor will abort in glamor_pixmap_ensure_fb() because the fbo->tex is 0: Truncated backtrace: Thread no. 1 (10 frames) #4 glamor_pixmap_ensure_fb at glamor_fbo.c:57 #5 glamor_create_fbo_from_tex at glamor_fbo.c:112 #6 glamor_create_fbo at glamor_fbo.c:159 #7 glamor_create_fbo_array at glamor_fbo.c:210 #8 glamor_create_pixmap at glamor.c:226 #9 compNewPixmap at compalloc.c:536 #10 compAllocPixmap at compalloc.c:605 #11 compCheckRedirect at compwindow.c:167 #12 compRealizeWindow at compwindow.c:267 #13 RealizeTree at window.c:2617 Check the value returned by _glamor_create_tex() in glamor_create_fbo() and return NULL in the texture is zero. All callers of glamor_create_fbo() actually check the returned value and will use a fallback code path if it's NULL. Please cherry-pick this to active stable branches. Bugzilla: https://bugzilla.redhat.com/1433305 Signed-off-by: Olivier Fourdan Reviewed-by: Eric Anholt Commit: 368f60d461421fe5e2bbd90652d6ac858dbff8fe https://github.com/XQuartz/xorg-server/commit/368f60d461421fe5e2bbd90652d6ac858dbff8fe Author: Kenneth Graunke Date: 2017-03-20 (Mon, 20 Mar 2017) Changed paths: M hw/xfree86/dri2/pci_ids/i965_pci_ids.h Log Message: ----------- dri2: Sync i965_pci_ids.h from Mesa. Copied from Mesa with no modifications. Gives us Geminilake PCI IDs. Signed-off-by: Kenneth Graunke Acked-by: Eric Anholt Commit: 4aa35c46dab72bc945981f6fd29e494133bc2b0a https://github.com/XQuartz/xorg-server/commit/4aa35c46dab72bc945981f6fd29e494133bc2b0a Author: Adam Jackson Date: 2017-03-20 (Mon, 20 Mar 2017) Changed paths: M fb/fbimage.c Log Message: ----------- fb: Handle ZPixmap planemask in GetImage the other way around Formerly we'd zero the image data and then pull out a plane at a time. It's faster to apply the planemask after the fact, since that turns the GetImage into a memcpy: 100000.0 101000.0 (1.010) (copy 0xaaaaaaaa) ShmGetImage 10x10 square 42400.0 59400.0 (1.401) (copy 0xaaaaaaaa) ShmGetImage 100x100 square 3040.0 5280.0 (1.737) (copy 0xaaaaaaaa) ShmGetImage 500x500 square 96100.0 95200.0 (0.991) (0xaaaaaaaa) GetImage 10x10 square 29600.0 36800.0 (1.243) (0xaaaaaaaa) GetImage 100x100 square 1850.0 2620.0 (1.416) (0xaaaaaaaa) GetImage 500x500 square Measured with Xvfb at depth 24 on Skylake i7-6560U. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 1ad230682338a9d2fc6eca6966a5bebb007df32c https://github.com/XQuartz/xorg-server/commit/1ad230682338a9d2fc6eca6966a5bebb007df32c Author: Adam Jackson Date: 2017-03-20 (Mon, 20 Mar 2017) Changed paths: M glamor/glamor_image.c Log Message: ----------- glamor: Avoid software fallback for planemasked ZPixmap GetImage Same trick as in fb: just do a normal GetImage and deal with the planemask on the CPU if you have to. Since the software fallback hit for glamor is pretty brutal, this is a much more impressive win for glamor than it was for fb: 11100.0 87700.0 (7.901) (copy 0xaaaaaaaa) ShmGetImage 10x10 square 9840.0 47800.0 (4.858) (copy 0xaaaaaaaa) ShmGetImage 100x100 square 1550.0 4240.0 (2.735) (copy 0xaaaaaaaa) ShmGetImage 500x500 square 9450.0 78900.0 (8.349) (0xaaaaaaaa) GetImage 10x10 square 6910.0 30900.0 (4.472) (0xaaaaaaaa) GetImage 100x100 square 431.0 2020.0 (4.687) (0xaaaaaaaa) GetImage 500x500 square Measured with Xephyr -glamor on Skylake GT3e. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 40c12a76c2ae57adefd3b1d412387ebbfe2fb784 https://github.com/XQuartz/xorg-server/commit/40c12a76c2ae57adefd3b1d412387ebbfe2fb784 Author: Tobias Stoeckmann Date: 2017-03-20 (Mon, 20 Mar 2017) Changed paths: M record/record.c Log Message: ----------- record: Fix OOB access in ProcRecordUnregisterClients If a client sends a RecordUnregisterClients request with an nClients field larger than INT_MAX / 4, an integer overflow leads to an out of boundary access in RecordSanityCheckClientSpecifiers. An example line with libXtst would be: XRecordUnregisterClients(dpy, rc, clients, 0x40000001); Reviewed-by: Adam Jackson Commit: 4e76c2711740b775242170d8e5ee56c7e6829cce https://github.com/XQuartz/xorg-server/commit/4e76c2711740b775242170d8e5ee56c7e6829cce Author: Adam Jackson Date: 2017-03-21 (Tue, 21 Mar 2017) Changed paths: M dix/privates.c M include/privates.h M miext/damage/damage.c M miext/damage/damagestr.h Log Message: ----------- dix: Remove PRIVATE_DAMAGE None of this is actually wired up to anything, so we can also remove the devPrivates from the DamageRec. The DamageExtRec is what would need devPrivates for selinux labeling, in principle. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: fdc79fe72bc0b97776df2c3a664076c60e08a87c https://github.com/XQuartz/xorg-server/commit/fdc79fe72bc0b97776df2c3a664076c60e08a87c Author: Michel Dänzer Date: 2017-03-21 (Tue, 21 Mar 2017) Changed paths: M hw/xfree86/modes/xf86EdidModes.c Log Message: ----------- edid: Prune duplicates after adding modes from DDC Multiple calls to xf86EdidMonitorSet (which can be triggered e.g. by running xrandr) would potentially keep adding the same modes, causing the Monitor->Modes list to keep growing larger and using up more memory. Fix this by calling xf86PruneDuplicateModes after adding the modes returned by xf86DDCGetModes. This makes sure there's only one instance of each unique mode in the list. v2: * Replace semicolon with {} for empty for loop (Emil Velikov) * Slightly tweak commit log to avoid minor inaccuracy about what xf86PruneDuplicateModes does Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99521 Signed-off-by: Michel Dänzer Reviewed-by: Emil Velikov Commit: eb2cf11724df5cbe0be3cce1ad4c61ba61e8ec6b https://github.com/XQuartz/xorg-server/commit/eb2cf11724df5cbe0be3cce1ad4c61ba61e8ec6b Author: Michel Dänzer Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M hw/kdrive/ephyr/ephyr_draw.c Log Message: ----------- Xephyr: Handle source-only pictures in ephyrPrepare/DoneComposite There is no pixmap associated with source-only pictures. Fixes Xephyr -fakexa crashing on startup. Signed-off-by: Michel Dänzer Reviewed-by: Alex Deucher Signed-off-by: Peter Hutterer Commit: ad6689b7db0a4b0d22716acedae98462a68ea1ae https://github.com/XQuartz/xorg-server/commit/ad6689b7db0a4b0d22716acedae98462a68ea1ae Author: Mariusz Bialonczyk Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M configure.ac Log Message: ----------- configure.ac: fix checking for libdrm version after 9232835bd No matter what libdrm version was installed, it always set the GLAMOR_HAS_DRM_NAME_FROM_FD_2 conditional to 1. This obviously leads to compilation problems. Fixes: 9232835bd16b ("glamor: use drmGetDeviceNameFromFD2 when available") Signed-off-by: Mariusz Bialonczyk Reviewed-and-Tested-by: Qiang Yu Commit: 1b1a8c481773e15142202a7b761d614b33f12577 https://github.com/XQuartz/xorg-server/commit/1b1a8c481773e15142202a7b761d614b33f12577 Author: Eric Anholt Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M hw/kdrive/ephyr/ephyrinit.c M hw/kdrive/src/kinput.c M include/kdrive-config.h.in Log Message: ----------- kdrive: Unifdef KDRIVE_EVDEV. ajax deleted the evdev driver in the removal of fbdev and the linux backend. Reviewed-by: Peter Hutterer Reviewed-by: Daniel Stone Signed-off-by: Eric Anholt Commit: 5c7ed785e3bdb9f0fbf8fbfdc93b5fdd2b2c7dbf https://github.com/XQuartz/xorg-server/commit/5c7ed785e3bdb9f0fbf8fbfdc93b5fdd2b2c7dbf Author: Eric Anholt Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M configure.ac M include/dix-config.h.in M include/kdrive-config.h.in M include/xorg-server.h.in Log Message: ----------- kdrive: Remove vestiges of TSLIB support. The actual code was gone in 27819950e4158326e0f83a30f2e8968b932625ef, but some checks remained. Reviewed-by: Peter Hutterer Reviewed-by: Daniel Stone Signed-off-by: Eric Anholt Commit: 190c2adf4a237a4c0dc13d7566ca91662271d3e4 https://github.com/XQuartz/xorg-server/commit/190c2adf4a237a4c0dc13d7566ca91662271d3e4 Author: Eric Anholt Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M configure.ac M hw/kdrive/ephyr/Makefile.am M hw/kdrive/ephyr/ephyr.c M hw/kdrive/ephyr/ephyr_draw.c M hw/kdrive/ephyr/ephyr_glamor_xv.c M hw/kdrive/ephyr/ephyrcursor.c M hw/kdrive/ephyr/ephyrinit.c M hw/kdrive/ephyr/ephyrvideo.c M hw/kdrive/ephyr/hostx.c M hw/kdrive/ephyr/os.c M hw/kdrive/src/kcmap.c M hw/kdrive/src/kdrive.c M hw/kdrive/src/kinfo.c M hw/kdrive/src/kinput.c M hw/kdrive/src/kmode.c M hw/kdrive/src/kshadow.c M hw/kdrive/src/kxv.c R include/kdrive-config.h.in M mi/miinitext.c Log Message: ----------- kdrive: Drop kdrive-config.h. It had nothing left in it that was used but wasn't in dix-config.h. Reviewed-by: Peter Hutterer Reviewed-by: Daniel Stone Signed-off-by: Eric Anholt Commit: 2da405759fbabd4b918838a0de728c1911b4a2fa https://github.com/XQuartz/xorg-server/commit/2da405759fbabd4b918838a0de728c1911b4a2fa Author: Eric Anholt Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M hw/xfree86/exa/examodule.c M hw/xwayland/xwayland-shm.c Log Message: ----------- xserver: Check the right HAVE_*_CONFIG_H. Reviewed-by: Peter Hutterer Reviewed-by: Daniel Stone Signed-off-by: Eric Anholt Commit: 266af991c8e41e62f054ac9870468a9ba2aaa9f2 https://github.com/XQuartz/xorg-server/commit/266af991c8e41e62f054ac9870468a9ba2aaa9f2 Author: Eric Anholt Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M glamor/glamor_priv.h Log Message: ----------- glamor: Fix some formatting that confused the unifdef command. Reviewed-by: Peter Hutterer Reviewed-by: Daniel Stone Signed-off-by: Eric Anholt Commit: e2e50c509718ea8c7f4684dc18f5ce66e526792b https://github.com/XQuartz/xorg-server/commit/e2e50c509718ea8c7f4684dc18f5ce66e526792b Author: Eric Anholt Date: 2017-03-23 (Thu, 23 Mar 2017) Changed paths: M hw/xfree86/modes/xf86Crtc.c M hw/xfree86/modes/xf86Cursors.c M hw/xfree86/modes/xf86DiDGA.c M hw/xfree86/modes/xf86EdidModes.c M hw/xfree86/modes/xf86Modes.c M hw/xfree86/modes/xf86RandR12.c M hw/xfree86/modes/xf86Rotate.c M hw/xfree86/modes/xf86cvt.c M hw/xfree86/modes/xf86gtf.c M xkb/XKBMAlloc.c M xkb/XKBMisc.c Log Message: ----------- xserver: Unifdef HAVE_CONFIG_H The X Server never generates a global config.h, and instead all these paths are including dix-config.h or xorg-config.h. Reviewed-by: Peter Hutterer Reviewed-by: Daniel Stone Signed-off-by: Eric Anholt Commit: f4b78286ea8d4c94a913a02a3579cbe55e8f1f6b https://github.com/XQuartz/xorg-server/commit/f4b78286ea8d4c94a913a02a3579cbe55e8f1f6b Author: Adam Jackson Date: 2017-03-24 (Fri, 24 Mar 2017) Changed paths: M glx/glxcmds.c Log Message: ----------- glx: Fix MakeCurrent with no drawables GLX_ARB_create_context, which we aspire to support, allows making GL 3.0 or newer contexts current with null current drawables. Strictly this might not be legal for pre-3.0 contexts, but there's no harm in allowing it anyway. Signed-off-by: Adam Jackson Commit: 5cdfcdef819efa6406807254cb3c7aba6ba5475e https://github.com/XQuartz/xorg-server/commit/5cdfcdef819efa6406807254cb3c7aba6ba5475e Author: Matt Turner Date: 2017-03-27 (Mon, 27 Mar 2017) Changed paths: M xkb/xkbInit.c Log Message: ----------- xkb: Correct type of XkbDfltAccessXOptions. Declared as unsigned short in xkb/xkbAccessX.c. Signed-off-by: Matt Turner Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 21eda7464d0e13ac6558edaf6531c3d3251e05df https://github.com/XQuartz/xorg-server/commit/21eda7464d0e13ac6558edaf6531c3d3251e05df Author: Tobias Stoeckmann Date: 2017-03-27 (Mon, 27 Mar 2017) Changed paths: M hw/dmx/dmxsync.c Log Message: ----------- dmx: Fix null pointer dereference A null pointer dereference can occur in dmxSync, because TimerForce does not handle a null pointer. dmxSyncTimer is set to NULL a few lines above on a certain condition, which happened on my machine. The explicit NULL check allowed me to start Xdmx again without a segmentation fault. Reviewed-by: Adam Jackson Commit: 8ed0b00fceb34cdb54a0ea113c3cdff3b4c9e7e1 https://github.com/XQuartz/xorg-server/commit/8ed0b00fceb34cdb54a0ea113c3cdff3b4c9e7e1 Author: Adam Jackson Date: 2017-03-27 (Mon, 27 Mar 2017) Changed paths: M Xext/dpms.c M hw/xfree86/common/xf86DPMS.c M hw/xfree86/common/xf86Privstr.h Log Message: ----------- xfree86: Clean up DPMS support Rather than setting up a per-screen private, just conditionally initialize ScrnInfoRec::DPMSSet based on the config options, and inspect that to determine whether DPMS is supported. We also move the "turn the screen back on at CloseScreen" logic into the DPMS extension's (new) reset hook. This would be a behavior change for the non-xfree86 servers, if any of them had non-stub DPMS support. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: 7f1ef9289d974fc2bacc968ae0b5d7714382cb9e https://github.com/XQuartz/xorg-server/commit/7f1ef9289d974fc2bacc968ae0b5d7714382cb9e Author: Adam Jackson Date: 2017-03-27 (Mon, 27 Mar 2017) Changed paths: M Xext/Makefile.am M Xext/dpms.c R Xext/dpmsstubs.c M hw/dmx/dmxdpms.c M hw/dmx/dmxdpms.h M hw/dmx/dmxscrinit.c M hw/kdrive/src/kdrive.c M hw/vfb/Makefile.am M hw/xfree86/common/xf86DPMS.c M hw/xnest/Makefile.am M hw/xwayland/Makefile.am M hw/xwin/Makefile.am M include/scrnintstr.h Log Message: ----------- dix: Lift DPMS to a screen hook Following on from the previous change, this adds a DPMS hook to the ScreenRec and uses that to infer DPMS support. As a result we can drop the dpms stub code from Xext. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: 33604187674ec78b2c0bf7f67af250acc80cf23a https://github.com/XQuartz/xorg-server/commit/33604187674ec78b2c0bf7f67af250acc80cf23a Author: Adam Jackson Date: 2017-03-27 (Mon, 27 Mar 2017) Changed paths: M Xext/dpms.c M Xext/dpmsproc.h M Xext/saver.c M dix/globals.c M dix/main.c M hw/xfree86/common/xf86Config.c M include/globals.h M os/utils.c Log Message: ----------- dpms: Consolidate a bunch of stuff into Xext/dpms.c Most of this is a legacy of the old "extmod" design where you could load _some_ extensions dynamically but only if the server had been built with support for them in the first place. Note that since we now only initialize the DPMS extension if at least one screen supports it, we no longer need DPMSCapableFlag: if it would be false, we would never read its value. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: e4d0757fc2620fd3182448c5e4b5a55a509594d3 https://github.com/XQuartz/xorg-server/commit/e4d0757fc2620fd3182448c5e4b5a55a509594d3 Author: Adam Jackson Date: 2017-03-30 (Thu, 30 Mar 2017) Changed paths: M hw/xfree86/common/xf86.h M hw/xfree86/common/xf86Bus.c M hw/xfree86/common/xf86Bus.h M hw/xfree86/common/xf86Events.c M hw/xfree86/common/xf86Helper.c M hw/xfree86/common/xf86Init.c M hw/xfree86/common/xf86PM.c M hw/xfree86/common/xf86Priv.h M hw/xfree86/common/xf86pciBus.c M hw/xfree86/doc/ddxDesign.xml Log Message: ----------- xfree86: Remove driver entity hooks and private No driver is using these, as far as I know. v2: Tripwire the entity hook arguments to xf86Config*Entity, fix documentation (Eric Anholt) Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: 0c8e6ed85810e96d84173a52d628863802a78d82 https://github.com/XQuartz/xorg-server/commit/0c8e6ed85810e96d84173a52d628863802a78d82 Author: Daniel Stone Date: 2017-04-07 (Fri, 07 Apr 2017) Changed paths: M hw/xfree86/drivers/modesetting/vblank.c Log Message: ----------- modesetting: Set correct DRM event context version DRM_EVENT_CONTEXT_VERSION is the latest context version supported by whatever version of libdrm is present. modesetting was blindly asserting it supported whatever version that may be, even if it actually didn't. With libdrm 2.4.78, setting a higher context version than 2 will attempt to call the page_flip_handler2 vfunc if it was non-NULL, which being a random chunk of stack memory, it might well have been. Set the version as 2, which should be bumped only with the appropriate version checks. Reviewed-by: Adam Jackson Signed-off-by: Daniel Stone Commit: 7dfb9608d080b46a7b21b57dc8aa2f52670addce https://github.com/XQuartz/xorg-server/commit/7dfb9608d080b46a7b21b57dc8aa2f52670addce Author: Adam Jackson Date: 2017-04-10 (Mon, 10 Apr 2017) Changed paths: M glx/glxcmds.c M glx/glxext.c M glx/glxserver.h Log Message: ----------- glx: Remove enter/leave server API Dead code since: commit 8aacf47e1778d8b72811b025a82452b933d3c1f2 Author: Adam Jackson Date: Fri Oct 4 12:58:19 2013 -0400 glx: Remove DRI1 AIGLX (v2) Signed-off-by: Adam Jackson Commit: 14d2fe74f4e51c5b37eab4b7475c804a0340b530 https://github.com/XQuartz/xorg-server/commit/14d2fe74f4e51c5b37eab4b7475c804a0340b530 Author: Adam Jackson Date: 2017-04-10 (Mon, 10 Apr 2017) Changed paths: M hw/kdrive/ephyr/ephyrvideo.c Log Message: ----------- xephyr: Check for host XVideo support before trying to use it Otherwise xcb will treat our attempt to send xv requests as a connection error (quite reasonably: we're asking it to emit a request for which there is no defined major opcode), and we'll die quietly the first time we hit KdBlockhandler. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: 8bdf340e478524262c85fb81687d7f02b14ad71c https://github.com/XQuartz/xorg-server/commit/8bdf340e478524262c85fb81687d7f02b14ad71c Author: Daniel Stone Date: 2017-04-11 (Tue, 11 Apr 2017) Changed paths: M README Log Message: ----------- README: HTTPS everywhere All fd.o HTTP services are now HTTPS-only (with redirects, but still). Reviewed-by: Adam Jackson Signed-off-by: Daniel Stone Commit: ea91996a9c2081d0692f5c2f79a9fda9effba358 https://github.com/XQuartz/xorg-server/commit/ea91996a9c2081d0692f5c2f79a9fda9effba358 Author: Daniel Stone Date: 2017-04-11 (Tue, 11 Apr 2017) Changed paths: M README Log Message: ----------- README: Add link to fd.o CoC The Contributor Covenant applies to all fd.o-hosted resources, including lists and Bugzilla. Add a note to the README, reminding people to act like human beings. Reviewed-by: Adam Jackson Signed-off-by: Daniel Stone Commit: bcee1b76aa0db8525b491485e90b8740763d7de6 https://github.com/XQuartz/xorg-server/commit/bcee1b76aa0db8525b491485e90b8740763d7de6 Author: Martin Peres Date: 2017-04-12 (Wed, 12 Apr 2017) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c Log Message: ----------- modesetting: re-set the crtc's mode when link-status goes BAD Despite all the careful planning of the kernel, a link may become insufficient to handle the currently-set mode. At this point, the kernel should mark this particular configuration as being broken and potentially prune the mode before setting the offending connector's link-status to BAD and send the userspace a hotplug event. This may happen right after a modeset or later on. Upon receiving a hot-plug event, we iterate through the connectors to re-apply the currently-set mode on all the connectors that have a link-status property set to BAD. The kernel may be able to get the link to work by dropping to using a lower link bpp (with the same display bpp). However, the modeset may fail if the kernel has pruned the mode, so to make users aware of this problem a warning is outputed in the logs to warn about having a potentially-black display. This patch does not modify the current behaviour of always propagating the events to the randr clients. This allows desktop environments to re-probe the connectors and select a new resolution based on the new (currated) mode list if a mode disapeared. This behaviour is expected in order to pass the Display Port compliance tests. Signed-off-by: Martin Peres Reviewed-by: Eric Anholt Commit: 41dafcc2a2942fc4c94ce3cbafc4a1b413c460c3 https://github.com/XQuartz/xorg-server/commit/41dafcc2a2942fc4c94ce3cbafc4a1b413c460c3 Author: Michel Dänzer Date: 2017-04-17 (Mon, 17 Apr 2017) Changed paths: M hw/xfree86/modes/xf86RandR12.c Log Message: ----------- xfree86/modes: Make colormap/gamma glue code work with RandR disabled E.g. because Xinerama is enabled. Fixes crash on startup and wrong colours in that case. Bugzilla: https://bugs.freedesktop.org/100293 Bugzilla: https://bugs.freedesktop.org/100294 Fixes: 62f44052573b ("xfree86/modes: Move gamma initialization to xf86RandR12Init12 v2") Tested-by: Mariusz Bialonczyk Reviewed-by: Alex Deucher Commit: cc882af336c8963a2cba0c93e29869ef59b19818 https://github.com/XQuartz/xorg-server/commit/cc882af336c8963a2cba0c93e29869ef59b19818 Author: Roman Gilg Date: 2017-04-18 (Tue, 18 Apr 2017) Changed paths: M hw/xwayland/xwayland-output.c Log Message: ----------- xwayland: Small comment edit Be more precise in describing the return value. Signed-off-by: Roman Gilg Reviewed-by: Daniel Stone Signed-off-by: Peter Hutterer Commit: dae97e1bb4d4f86db118c22dfeea0eef0d3f8bdd https://github.com/XQuartz/xorg-server/commit/dae97e1bb4d4f86db118c22dfeea0eef0d3f8bdd Author: Eric Anholt Date: 2017-04-21 (Fri, 21 Apr 2017) Changed paths: M configure.ac Log Message: ----------- configure: Stop checking for XdmcpWrap As far back as the initial import, it seems to have been exposed, and there's no explanation why the test happened in the initial xserver import. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: be80a3cb48a7860b9ed985b123f4d8a3b4ae3c89 https://github.com/XQuartz/xorg-server/commit/be80a3cb48a7860b9ed985b123f4d8a3b4ae3c89 Author: Eric Anholt Date: 2017-04-21 (Fri, 21 Apr 2017) Changed paths: M configure.ac M glx/glxbyteorder.h M include/dix-config.h.in Log Message: ----------- glx: Use the same endian swapping as the rest of the server. This dumps a ton of configure-time checks for system endian macros. Given that we're marking the mixed-endian fixup code as cold, getting at the system macros is a waste of code. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 7bfb87a2137853295ecc9e544a15626cfd773a02 https://github.com/XQuartz/xorg-server/commit/7bfb87a2137853295ecc9e544a15626cfd773a02 Author: Olivier Fourdan Date: 2017-04-21 (Fri, 21 Apr 2017) Changed paths: M glamor/glamor_xv.c Log Message: ----------- glamor: an FBO is not needed for Xv pixmaps It appears that on some hardware/diver combo such as nv30/nouveau, using GL_ALPHA as format for 8-bit depth will cause an incomplete attachment error (GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) when trying to bind the texture. As a result, the FBO is NULL and glamor segfaults when trying to access the FBO width/height in pixmap_priv_get_scale() in glamor_xv_render(). This happens with glamor-xv which uses 8-bit pixmaps, meaning that on such hardware/driver, trying to play a video using Xv will lead to a crash of the Xserver. This affects Xwayland, Xephyr, modesetting driver with glamor accel. But the use of an FBO is not actually needed for glamox-xv, so by disabling FBO at pixmap creation, we can avoid the issue entirely. Fix suggested by Eric Anholt Signed-off-by: Olivier Fourdan Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100710 Fixes: https://bugzilla.redhat.com/1412814 Reviewed-by: Eric Anholt Commit: f81343dd2fff49c70f53e3efdd40f8f89a38e460 https://github.com/XQuartz/xorg-server/commit/f81343dd2fff49c70f53e3efdd40f8f89a38e460 Author: Alan Coopersmith Date: 2017-04-24 (Mon, 24 Apr 2017) Changed paths: M test/xi2/protocol-xigetclientpointer.c M test/xi2/protocol-xigetselectedevents.c M test/xi2/protocol-xipassivegrabdevice.c Log Message: ----------- Mark test_data static in Xinput protocol tests to avoid clashes Fixes warning from Solaris linker: ld: warning: symbol 'test_data' has differing sizes: (file tests-protocol-xigetselectedevents.o value=0x418; file tests-protocol-xigetclientpointer.o value=0x18); tests-protocol-xigetselectedevents.o definition taken Signed-off-by: Alan Coopersmith Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: da27ca84b4324b68037d6ec19a73b9e0a5ef10bc https://github.com/XQuartz/xorg-server/commit/da27ca84b4324b68037d6ec19a73b9e0a5ef10bc Author: Eric Anholt Date: 2017-04-25 (Tue, 25 Apr 2017) Changed paths: M configure.ac M hw/xfree86/common/xf86Init.c M include/xorg-config.h.in M include/xorg-server.h.in M manpages.am Log Message: ----------- xorg: Change __XCONFIGFILE__ to XCONFIGFILE (and DIR) to fix scan.c. parser/scan.c was checking for #ifdef XCONFIGFILE and XCONFIGDIR and defaulting to "xorg.conf", and "xorg.conf.d", so if you had changed __XCONFIGFILE__ to anything else, it would have got out of sync. Settle on the name without gratuitous underscores. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 5ef4e785131bb30e774a8175099c0432537533fa https://github.com/XQuartz/xorg-server/commit/5ef4e785131bb30e774a8175099c0432537533fa Author: Eric Anholt Date: 2017-04-25 (Tue, 25 Apr 2017) Changed paths: M hw/xfree86/parser/Makefile.am M hw/xfree86/parser/scan.c M xkb/ddxLoad.c Log Message: ----------- Remove default defines of some directories. The build defines these, so having the defaults is just a way for the build system's configuration to get out of sync with the code. v2: Drop #ifndefs around the other two defines. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 563b6ee873b898c0f3e3671cf6adaf91def5d92a https://github.com/XQuartz/xorg-server/commit/563b6ee873b898c0f3e3671cf6adaf91def5d92a Author: Eric Anholt Date: 2017-04-25 (Tue, 25 Apr 2017) Changed paths: M doc/Xserver-spec.xml M glx/glxbyteorder.h M include/misc.h M os/io.c Log Message: ----------- Rewrite the byte swapping macros. The clever pointer tricks were actually not working, and we were doing the byte-by-byte moves in general. By just doing the memcpy and obvious byte swap code, we end up generating actual byte swap instructions, thanks to optimizing compilers. text data bss dec hex filename before: 2240807 51552 132016 2424375 24fe37 hw/xfree86/Xorg after: 2215167 51552 132016 2398735 249a0f hw/xfree86/Xorg Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 4552238960fc05ff885bcabbc24d1489370fbd89 https://github.com/XQuartz/xorg-server/commit/4552238960fc05ff885bcabbc24d1489370fbd89 Author: Eric Anholt Date: 2017-04-25 (Tue, 25 Apr 2017) Changed paths: M test/misc.c Log Message: ----------- Add unit tests for the byte swapping macros. Peter noted a weirdness in my new bswap code, which could use some tests to justify it. Signed-off-by: Eric Anholt Reviewed-by: Peter Hutterer Commit: fec9607c8e0a84dc86466c638d00b502f21ec622 https://github.com/XQuartz/xorg-server/commit/fec9607c8e0a84dc86466c638d00b502f21ec622 Author: Eric Anholt Date: 2017-04-25 (Tue, 25 Apr 2017) Changed paths: M include/misc.h M test/misc.c Log Message: ----------- Remove support for unaligned swaps. The previous misc.h code went out of its way to allow swapping of unaligned pointers to values. However, the members of an X request/response are always naturally aligned within the struct, and the buffers containing a request/response will also be aligned to at least 8 bytes, so we can just drop it. text data bss dec hex filename before: 2215167 51552 132016 2398735 249a0f hw/xfree86/Xorg after: 2214919 51552 132016 2398487 249917 hw/xfree86/Xorg Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 23f2f1932a1d3f36468eaf735ae34934d246567b https://github.com/XQuartz/xorg-server/commit/23f2f1932a1d3f36468eaf735ae34934d246567b Author: Eric Anholt Date: 2017-04-25 (Tue, 25 Apr 2017) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c Log Message: ----------- modesetting: Add the "DPI" connector type. The number for it was merged to drm_mode.h in kernel 4.7, and the output_names[] array just requires that we slot in new strings in order. Signed-off-by: Eric Anholt Reviewed-by: Alex Deucher Commit: 27a6b9f7c84c914d0f5909ec1069d72f5035bc04 https://github.com/XQuartz/xorg-server/commit/27a6b9f7c84c914d0f5909ec1069d72f5035bc04 Author: Michel Dänzer Date: 2017-04-26 (Wed, 26 Apr 2017) Changed paths: M hw/xfree86/common/xf86Init.c M hw/xquartz/quartz.c M os/osinit.c M os/utils.c Log Message: ----------- os: Handle SIGABRT Without this, assertion failures can make life hard for users and those trying to help them. v2: * Change commit log wording slightly to "can make life hard", since apparently e.g. logind can alleviate that somewhat. * Set default handler for SIGABRT in hw/xfree86/common/xf86Init.c:InstallSignalHandlers() and hw/xquartz/quartz.c:QuartzInitOutput() (Eric Anholt) Reviewed-by: Eric Anholt Signed-off-by: Michel Dänzer Commit: ace6bfd5901e19045371f9bd18b997b37f55b589 https://github.com/XQuartz/xorg-server/commit/ace6bfd5901e19045371f9bd18b997b37f55b589 Author: Eric Anholt Date: 2017-04-26 (Wed, 26 Apr 2017) Changed paths: M dix/dispatch.c Log Message: ----------- dix: Remove a redundant #define Found when the meson conversion set the symbol to defined, instead of defined to 1. Reviewed-by: Peter Hutterer Reviewed-by: Keith Packard Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: c7be7a688a78a34f61b90c0d95914e14b90b0cdc https://github.com/XQuartz/xorg-server/commit/c7be7a688a78a34f61b90c0d95914e14b90b0cdc Author: Eric Anholt Date: 2017-04-26 (Wed, 26 Apr 2017) Changed paths: M glamor/glamor_priv.h M hw/xfree86/common/xf86.h M hw/xfree86/drivers/modesetting/driver.c M hw/xfree86/loader/loadmod.c M hw/xfree86/sdksyms.sh M hw/xwayland/xwayland.c M include/dixstruct.h M include/os.h M include/xserver_poll.h M os/utils.c Log Message: ----------- Use #ifdef instead of #if for features to make Meson easier. We mostly use #ifdef throughout the tree, and this lets the generated config.h files just be #define TOKEN instead of #define TOKEN 1. Reviewed-by: Peter Hutterer Reviewed-by: Keith Packard Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 1549e30372756cfdb85379fd8d93c769297ab6e6 https://github.com/XQuartz/xorg-server/commit/1549e30372756cfdb85379fd8d93c769297ab6e6 Author: Eric Anholt Date: 2017-04-26 (Wed, 26 Apr 2017) Changed paths: A Xext/meson.build A Xi/meson.build A composite/meson.build A config/meson.build A damageext/meson.build A dbe/meson.build A dix/meson.build A dri3/meson.build A exa/meson.build A fb/meson.build A glamor/meson.build A glx/meson.build A hw/dmx/config/meson.build A hw/dmx/examples/meson.build A hw/dmx/glxProxy/meson.build A hw/dmx/input/meson.build A hw/dmx/meson.build A hw/kdrive/ephyr/meson.build A hw/kdrive/meson.build A hw/kdrive/src/meson.build A hw/meson.build A hw/vfb/meson.build A hw/xfree86/common/meson.build A hw/xfree86/common/xf86Build.sh A hw/xfree86/ddc/meson.build A hw/xfree86/dixmods/meson.build A hw/xfree86/dri/meson.build A hw/xfree86/dri2/meson.build A hw/xfree86/drivers/modesetting/meson.build A hw/xfree86/exa/meson.build A hw/xfree86/glamor_egl/meson.build A hw/xfree86/i2c/meson.build A hw/xfree86/int10/meson.build M hw/xfree86/loader/loader.c A hw/xfree86/loader/meson.build A hw/xfree86/loader/symbol-test.c A hw/xfree86/meson.build A hw/xfree86/modes/meson.build A hw/xfree86/os-support/meson.build A hw/xfree86/parser/meson.build A hw/xfree86/ramdac/meson.build A hw/xfree86/x86emu/meson.build A hw/xnest/meson.build A hw/xquartz/meson.build A hw/xwayland/meson.build A include/meson.build A include/xorg-config.h.meson.in A meson.build A meson_options.txt A mi/meson.build A miext/damage/meson.build A miext/shadow/meson.build A miext/sync/meson.build A os/meson.build A present/meson.build A pseudoramiX/meson.build A randr/meson.build A record/meson.build A render/meson.build A xfixes/meson.build A xkb/meson.build Log Message: ----------- Add a Meson build system alongside autotools. This is a work in progress that builds Xvfb, Xephyr, Xwayland, Xnest, and Xdmx so far. The outline of Xquartz/Xwin support is in tree, but hasn't been built yet. The unit tests are also not done. The intent is to build this as a complete replacement for the autotools system, then eventually replace autotools. meson is faster to generate the build, faster to run the bulid, shorter to write the build files in, and less error-prone than autotools. v2: Fix indentation nits, move version declaration to project(), use existing meson_options for version-config.h's vendor name/web. Signed-off-by: Eric Anholt Acked-by: Keith Packard Reviewed-by: Peter Hutterer Commit: 112d0d7d01b98fb0d67910281dd1feeec125247b https://github.com/XQuartz/xorg-server/commit/112d0d7d01b98fb0d67910281dd1feeec125247b Author: Karol Kosik Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M hw/xfree86/common/Makefile.am M hw/xfree86/common/meson.build M hw/xfree86/common/xf86AutoConfig.c A hw/xfree86/common/xf86MatchDrivers.h M hw/xfree86/common/xf86pciBus.c M hw/xfree86/common/xf86pciBus.h M hw/xfree86/common/xf86platformBus.c M hw/xfree86/common/xf86platformBus.h Log Message: ----------- xfree86: Improved autoconfig drivers matching Implementation of new drivers matching algorithm. New approach doesn't add duplicate drivers and ease drivers matching phase. Signed-off-by: Karol Kosik Reviewed-by: Aaron Plattner Reviewed-by: Emil Velikov Commit: 8659aac2ccc6649477f601908e1a4062fad8635e https://github.com/XQuartz/xorg-server/commit/8659aac2ccc6649477f601908e1a4062fad8635e Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M meson.build Log Message: ----------- meson: Fix a typo "bulid" isn't valid anything, and build_xwayland was already defined above. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 5d785693a8843d18be806ea9f8caecc2dcbf1007 https://github.com/XQuartz/xorg-server/commit/5d785693a8843d18be806ea9f8caecc2dcbf1007 Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M os/meson.build Log Message: ----------- meson: Factor out the AC_REPLACE_FUNCS stuff to its own library This is all just stuff we wish we had in libc, and some of this gets used in eg. the dmx utilities build, so split it to its own library to avoid pulling in xserver stuff. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 47f047462dcb492203ff569a2b1528bff8cd3ff3 https://github.com/XQuartz/xorg-server/commit/47f047462dcb492203ff569a2b1528bff8cd3ff3 Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M hw/dmx/config/meson.build Log Message: ----------- meson: Fix linking the dmx utilities Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 1597297067fd14d479a2279ad1ab20082317271a https://github.com/XQuartz/xorg-server/commit/1597297067fd14d479a2279ad1ab20082317271a Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M glx/meson.build M hw/xfree86/dixmods/meson.build M meson.build Log Message: ----------- meson: Build libglx.so Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 6413a87bcd3bfb91ac1536b41c37af0c6e47a9b6 https://github.com/XQuartz/xorg-server/commit/6413a87bcd3bfb91ac1536b41c37af0c6e47a9b6 Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M fb/meson.build M hw/xfree86/dixmods/meson.build Log Message: ----------- meson: Build libwfb.so Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 5c7d92362b25670856091663e70d3e0dc2350efb https://github.com/XQuartz/xorg-server/commit/5c7d92362b25670856091663e70d3e0dc2350efb Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: A hw/xfree86/fbdevhw/meson.build M hw/xfree86/meson.build Log Message: ----------- meson: Build libfbdevhw.so Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: bdce17959cd17fa6d46a1df361b53b5855ff62e8 https://github.com/XQuartz/xorg-server/commit/bdce17959cd17fa6d46a1df361b53b5855ff62e8 Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M hw/xfree86/meson.build A hw/xfree86/vgahw/meson.build M meson.build Log Message: ----------- meson: Build libvgahw.so Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 2f1a1be46c3366a47657fe7550bc59fb99acf91c https://github.com/XQuartz/xorg-server/commit/2f1a1be46c3366a47657fe7550bc59fb99acf91c Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M hw/xfree86/meson.build A hw/xfree86/shadowfb/meson.build Log Message: ----------- meson: Build libshadowfb.so Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 59554eaa6c4d3d3c170a4be4fc385a86d05c5558 https://github.com/XQuartz/xorg-server/commit/59554eaa6c4d3d3c170a4be4fc385a86d05c5558 Author: Adam Jackson Date: 2017-04-27 (Thu, 27 Apr 2017) Changed paths: M hw/xfree86/meson.build A hw/xfree86/vbe/meson.build M meson.build Log Message: ----------- meson: Build libvbe.so Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: 89c841915ac4fba6d2a5ad0051c778f1a76ffbf3 https://github.com/XQuartz/xorg-server/commit/89c841915ac4fba6d2a5ad0051c778f1a76ffbf3 Author: Jason Gerecke Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M configure.ac M hw/xwayland/Makefile.am M hw/xwayland/meson.build M hw/xwayland/xwayland-input.c M meson.build Log Message: ----------- xwayland: Depend on wayland-protocols to build tablet protocol headers Signed-off-by: Jason Gerecke Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 7d48b758a601ce0252ebd21297a7c42263adfaaf https://github.com/XQuartz/xorg-server/commit/7d48b758a601ce0252ebd21297a7c42263adfaaf Author: Jason Gerecke Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Bind to wp_tablet_manager if available and get its seats If we're notified about the existence of the wp_tablet_manager interface, we bind to it so that we can make use of any tablets that are (or later become) available. For each seat that exists or comes into existance at a later point, obtain the associated tablet_seat. Signed-off-by: Jason Gerecke Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 47c4415912b5b16b115135be365beb370858df76 https://github.com/XQuartz/xorg-server/commit/47c4415912b5b16b115135be365beb370858df76 Author: Jason Gerecke Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Listen for wp_tablet_seat events The wp_tablet_seat interface provides us with notifications as tablets, tools, and pads are connected to the system. Add listener functions and store references to the obtained devices. Signed-off-by: Jason Gerecke Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 5812d1c28f4fb7b7de8b96a81415a21425561fd4 https://github.com/XQuartz/xorg-server/commit/5812d1c28f4fb7b7de8b96a81415a21425561fd4 Author: Jason Gerecke Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Handle wp_tablet events Creates and maintains the canonical trio of X devices (stylus, eraser, and cursor) to be shared by all connected tablets. A per-tablet trio could be created instead, but there are very few benefits to such a configuration since all tablets still ultimately share control of a single master pointer. The three X devices are modeled after those created by xf86-input-wacom but use a generic maximum X and Y that should be large enough to accurately represent values from even the largest currently-available tablets. Signed-off-by: Jason Gerecke Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 8a1defcc634daddbb3570519d69ec5c9e39a8b56 https://github.com/XQuartz/xorg-server/commit/8a1defcc634daddbb3570519d69ec5c9e39a8b56 Author: Jason Gerecke Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Handle tablet_tool events Translates Wayland tablet events into corresponding X11 tablet events. As with the prior commit, these events are modeled after those created by the xf86-input-wacom driver to maximize compatibility with existing applications. Signed-off-by: Jason Gerecke Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 773b04748d0c839bc8b12e33f74bb8d11c447f5b https://github.com/XQuartz/xorg-server/commit/773b04748d0c839bc8b12e33f74bb8d11c447f5b Author: Peter Hutterer Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: handle button events after motion events Make sure the button events are sent after the motion events into the new position. Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 6d1ad39fe6c18220dd39b0653fd1e4145140e2dc https://github.com/XQuartz/xorg-server/commit/6d1ad39fe6c18220dd39b0653fd1e4145140e2dc Author: Carlos Garnacho Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-cursor.c M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Refactor cursor management into xwl_cursor This struct takes away the cursor info in xwl_seat, and has an update function so we can share the frame handling code across several xwl_cursors. Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: f471b5b8eb451b442554517c7cb6f0aa90d218c4 https://github.com/XQuartz/xorg-server/commit/f471b5b8eb451b442554517c7cb6f0aa90d218c4 Author: Carlos Garnacho Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-cursor.c M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: update cursor on tablet tools in proximity Each xwl_tablet_tool gets a xwl_cursor, as on wayland each of those will get an independent cursor that can be set through zwp_tablet_tool.set_cursor. However, all tools (and the pointer) share conceptually the same VCP on Xwayland, so have cursor changes trigger a xwl_cursor update on every tool (and the pointer, again). Maybe Xwayland could keep track of the most recent device and only update that cursor to get better visual results, but this is simpler, and it's going to be odd anyway... Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: 8475e6360ce31551d50fd63a26f7a44d1e8928f2 https://github.com/XQuartz/xorg-server/commit/8475e6360ce31551d50fd63a26f7a44d1e8928f2 Author: Peter Hutterer Date: 2017-04-28 (Fri, 28 Apr 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: add tablet pad support Hooked up a bit differently to the other tools. Those tools can be static for all and be re-used. The wacom driver initializes the pad with the correct number of buttons though and we can't do this until we have the pad done event. If the tablet is removed and we plug a different one in, we should initialize that correctly, so unlike the other tools the pad is properly removed and re-initialized on plug. Signed-off-by: Peter Hutterer Acked-by: Ping Cheng Commit: a82971b07035ee9a4e3ed01326e7c1eab34b5a19 https://github.com/XQuartz/xorg-server/commit/a82971b07035ee9a4e3ed01326e7c1eab34b5a19 Author: Keith Packard Date: 2017-04-29 (Sat, 29 Apr 2017) Changed paths: M os/io.c Log Message: ----------- os: un-duplicate code to close client on write failure There are three copies of the same short sequence of operations to close down a client when a write error occurs. Create a new function, AbortClient, which performs these operations and then call it from the three places. Signed-off-by: Keith Packard Reviewed-and-Tested-by: Michel Dänzer Commit: e2f68296ffb8e40035c0ebd949b67d1e2e424e11 https://github.com/XQuartz/xorg-server/commit/e2f68296ffb8e40035c0ebd949b67d1e2e424e11 Author: Keith Packard Date: 2017-04-29 (Sat, 29 Apr 2017) Changed paths: M os/io.c Log Message: ----------- os: Mark client as ready to read when closing due to write failure [100863] This makes sure the server will go look at the client again, notice that the FD is no longer valid and close the client down. Bugzilla: https://bugs.freedesktop.org/100863 Signed-off-by: Keith Packard Reviewed-and-Tested-by: Michel Dänzer Commit: 62f727c7ea359b7bdf58d9b827731a082b47553d https://github.com/XQuartz/xorg-server/commit/62f727c7ea359b7bdf58d9b827731a082b47553d Author: Eric Anholt Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M hw/xfree86/dixmods/meson.build Log Message: ----------- meson: use link_with for Xorg's shared modules as well as Xorg. I converted Xorg when meson 0.40 came out, but fumbled my grep and forgot that I had instances of the .extract_all_objects() workaround in dixmods, too. Signed-off-by: Eric Anholt Reviewed-by: Daniel Stone Commit: ea275cd3d5fb561c6aed7876f486e1124082426c https://github.com/XQuartz/xorg-server/commit/ea275cd3d5fb561c6aed7876f486e1124082426c Author: Eric Anholt Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M glx/meson.build Log Message: ----------- meson: Fix glx build with DRI2 disabled. A common meson pattern is to use empty arrays for optional sources and dependencies, since it generally iterates over trees of arrays looking for values. A value of '' will actually go looking for ''. Daniel Stone Signed-off-by: Eric Anholt Commit: c3147a20065b212fac78eb29c9bb9e150f9b22f5 https://github.com/XQuartz/xorg-server/commit/c3147a20065b212fac78eb29c9bb9e150f9b22f5 Author: Adam Jackson Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M hw/dmx/dmx.c Log Message: ----------- dmx: Fix decl mismatch for XRT_WINDOW Building xserver with meson -Db_lto=true found this! Check it: ../hw/dmx/dmx.c:66:22: warning: type of ‘XRT_WINDOW’ does not match original declaration [-Wlto-type-mismatch] extern unsigned long XRT_WINDOW; ^ ../include/resource.h:58:18: note: type ‘RESTYPE’ should match type ‘long unsigned int’ typedef uint32_t RESTYPE; ^ ../Xext/panoramiX.c:85:9: note: ‘XRT_WINDOW’ was previously declared here RESTYPE XRT_WINDOW; ^ ../Xext/panoramiX.c:85:9: note: code may be misoptimized unless -fno-strict-aliasing is used I have never managed successfully to build xserver with LTO with autotools, so, score one for meson. Get the decl from panoramiXsrv.h, which includes panoramiX.h first anyway. Signed-off-by: Adam Jackson Reviewed-by: Alan Coopersmith Commit: d732c36597fab2e9bc4f2aa72cf1110997697557 https://github.com/XQuartz/xorg-server/commit/d732c36597fab2e9bc4f2aa72cf1110997697557 Author: Adam Jackson Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M configure.ac M hw/xfree86/common/xf86Xinput.c M hw/xfree86/os-support/linux/lnx_init.c M include/meson.build M include/xorg-config.h.in Log Message: ----------- xfree86: Silence a new glibc warning glibc would like to stop declaring major()/minor() macros in because that header gets included absolutely everywhere and unix device major/minor is perhaps usually not what's expected. Fair enough. If one includes as well then glibc knows we meant it and doesn't warn, so do that if it exists. Signed-off-by: Adam Jackson Commit: c0375dced38674ed98562529530d89ff02c48100 https://github.com/XQuartz/xorg-server/commit/c0375dced38674ed98562529530d89ff02c48100 Author: Adam Jackson Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M hw/kdrive/src/Makefile.am M hw/kdrive/src/kcmap.c M hw/kdrive/src/kdrive.c M hw/kdrive/src/kdrive.h M hw/kdrive/src/kinput.c R hw/kdrive/src/kmode.c M hw/kdrive/src/kxv.c M hw/kdrive/src/kxv.h Log Message: ----------- kdrive: static and dead code cleanup Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1 https://github.com/XQuartz/xorg-server/commit/c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1 Author: Adam Jackson Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M hw/kdrive/ephyr/Makefile.am M hw/kdrive/ephyr/ephyr.h M hw/kdrive/ephyr/ephyrinit.c R hw/kdrive/ephyr/os.c M hw/kdrive/src/kdrive.c M hw/kdrive/src/kdrive.h M hw/kdrive/src/kinput.c Log Message: ----------- kdrive: Remove KdOsFuncs Only the Init slot was used, and Xephyr can just as easily do that initialization directly. Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson Commit: b7376fb933ac1b0c1771535c14cf77029eccb7f5 https://github.com/XQuartz/xorg-server/commit/b7376fb933ac1b0c1771535c14cf77029eccb7f5 Author: Adam Jackson Date: 2017-05-03 (Wed, 03 May 2017) Changed paths: M hw/kdrive/ephyr/ephyr.c M hw/kdrive/ephyr/ephyrinit.c M hw/kdrive/src/kcmap.c M hw/kdrive/src/kdrive.c M hw/kdrive/src/kdrive.h Log Message: ----------- kdrive: Remove dead slots from KdCardFuncs Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Commit: 11c133aafe63c776bde502057243d67fe2c630c8 https://github.com/XQuartz/xorg-server/commit/11c133aafe63c776bde502057243d67fe2c630c8 Author: Eric Anholt Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M hw/kdrive/ephyr/meson.build M hw/kdrive/src/meson.build Log Message: ----------- meson: Fix kdrive build. Signed-off-by: Eric Anholt Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 111a5615a60565f7b68a7fa69dbac3d289d80c9e https://github.com/XQuartz/xorg-server/commit/111a5615a60565f7b68a7fa69dbac3d289d80c9e Author: Peter Hutterer Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M Makefile.am Log Message: ----------- Makefile.am: add the meson files to the tarball While we're shipping both build systems, we'll likely have 'make dist' generated tarballs - those tarballs should be buildable with meson to have more exposure. List them all explicitly since the list isn't likely to change much. Signed-off-by: Peter Hutterer Reviewed-by: Eric Engestrom Reviewed-by: Eric Anholt Commit: 4b7dd6d1aa53bdeee2e3fd0c0a73f6ce40495682 https://github.com/XQuartz/xorg-server/commit/4b7dd6d1aa53bdeee2e3fd0c0a73f6ce40495682 Author: Adam Jackson Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M Makefile.am Log Message: ----------- Makefile.am: make 'make distcheck' verify the meson build Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Signed-off-by: Peter Hutterer Commit: 3b3ce4a55b0c1f83eff37fb8544156e8961f3fa3 https://github.com/XQuartz/xorg-server/commit/3b3ce4a55b0c1f83eff37fb8544156e8961f3fa3 Author: Jon TURNEY Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M os/meson.build Log Message: ----------- meson: Test to build xserver_poll.c was inverted Test to build xserver_poll.c was inverted compared to autoconf. Build xserver_poll.c if poll is missing. Reviewed-by: Adam Jackson Signed-off-by: Jon Turney Commit: 492534813302ef95538f485401fbcf6eccbd0026 https://github.com/XQuartz/xorg-server/commit/492534813302ef95538f485401fbcf6eccbd0026 Author: Jon TURNEY Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M include/meson.build M meson.build Log Message: ----------- meson: Make xf86vidmode optional Reviewed-by: Adam Jackson Signed-off-by: Jon Turney Commit: ce6741f6ac63493d6b903f8f58b83bf571baf4b9 https://github.com/XQuartz/xorg-server/commit/ce6741f6ac63493d6b903f8f58b83bf571baf4b9 Author: Jon TURNEY Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M hw/xfree86/fbdevhw/meson.build Log Message: ----------- meson: Fix typoed filename Reviewed-by: Adam Jackson Signed-off-by: Jon Turney Commit: 5f83b951ac7e0e6bbd766a9bb860283e32808c90 https://github.com/XQuartz/xorg-server/commit/5f83b951ac7e0e6bbd766a9bb860283e32808c90 Author: Jon TURNEY Date: 2017-05-04 (Thu, 04 May 2017) Changed paths: M meson_options.txt Log Message: ----------- meson: Fix typo in xephyr option description Reviewed-by: Adam Jackson Signed-off-by: Jon Turney Commit: a06bb73053d9df56d9070ce325a43af3a3c7a6a2 https://github.com/XQuartz/xorg-server/commit/a06bb73053d9df56d9070ce325a43af3a3c7a6a2 Author: Lyude Date: 2017-05-05 (Fri, 05 May 2017) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Unconditionally initialize lists in init_tablet_manager_seat() In the event that xwayland gets launched on a wayland compositor that doesn't yet have support for wp_tablet_manager, we end up skipping the initialization of the lists. This is wrong, because regardless of whether or not a tablet is present we still attempt to traverse these lists later in xwl_set_cursor(), expecting that if the lists are empty from no tablet manager that we simply won't execute any loop iterations. (EE) (EE) Backtrace: (EE) 0: Xwayland (OsSigHandler+0x3b) [0x4982f9] (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x7f73722545bf] (EE) 2: Xwayland (xwl_set_cursor+0x9f) [0x429974] (EE) 3: Xwayland (miPointerUpdateSprite+0x261) [0x4fe1ca] (EE) 4: Xwayland (mieqProcessInputEvents+0x239) [0x4f8d33] (EE) 5: Xwayland (ProcessInputEvents+0x9) [0x4282f0] (EE) 6: Xwayland (Dispatch+0x42) [0x43e2d4] (EE) 7: Xwayland (dix_main+0x5c9) [0x44c6dc] (EE) 8: Xwayland (main+0x28) [0x61c523] (EE) 9: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x7f7371e9d401] (EE) 10: Xwayland (_start+0x2a) [0x4208fa] (EE) 11: ? (?+0x2a) [0x2a] (EE) (EE) Segmentation fault at address 0x28 (EE) Fatal server error: (EE) Caught signal 11 (Segmentation fault). Server aborting (EE) Reproduced when trying to run upstream xwayland under fedora 25's weston package. Signed-off-by: Lyude Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 1dd14e7a499428cf7215b49a9319199545bcd6cb https://github.com/XQuartz/xorg-server/commit/1dd14e7a499428cf7215b49a9319199545bcd6cb Author: Eric Anholt Date: 2017-05-09 (Tue, 09 May 2017) Changed paths: M hw/xfree86/dixmods/meson.build Log Message: ----------- meson: Use link_whole() not link_with(), for the Xorg dixmods. I clearly hadn't run ninja test, since fb no longer had any of the fb symbols in it. Signed-off-by: Eric Anholt Reviewed-by: Peter Hutterer Commit: 2388f5e583d4ab2ee12f2b087d381b64aed3f7d5 https://github.com/XQuartz/xorg-server/commit/2388f5e583d4ab2ee12f2b087d381b64aed3f7d5 Author: Eric Anholt Date: 2017-05-09 (Tue, 09 May 2017) Changed paths: M hw/xfree86/common/Makefile.am M hw/xfree86/common/meson.build M hw/xfree86/common/xf86AutoConfig.c R hw/xfree86/common/xf86MatchDrivers.h M hw/xfree86/common/xf86pciBus.c M hw/xfree86/common/xf86pciBus.h M hw/xfree86/common/xf86platformBus.c M hw/xfree86/common/xf86platformBus.h Log Message: ----------- Revert "xfree86: Improved autoconfig drivers matching" This reverts commit 112d0d7d01b98fb0d67910281dd1feeec125247b. It broke Xorg for Adam, Peter, and myself, by failing hard when a module load failed. Signed-off-by: Eric Anholt Commit: 5d3b6cc221aff5b9322b31aa6f5ae922271bc7d8 https://github.com/XQuartz/xorg-server/commit/5d3b6cc221aff5b9322b31aa6f5ae922271bc7d8 Author: Karol Kosik Date: 2017-05-09 (Tue, 09 May 2017) Changed paths: M hw/xfree86/common/Makefile.am M hw/xfree86/common/meson.build M hw/xfree86/common/xf86AutoConfig.c A hw/xfree86/common/xf86MatchDrivers.h M hw/xfree86/common/xf86pciBus.c M hw/xfree86/common/xf86pciBus.h M hw/xfree86/common/xf86platformBus.c M hw/xfree86/common/xf86platformBus.h Log Message: ----------- xfree86: Improved autoconfig drivers matching Implementation of new drivers matching algorithm. New approach doesn't add duplicate drivers and ease drivers matching phase. v2: Re-commit the patch reverted in 2388f5e583d4ab2ee12f2b087d381b64aed3f7d5, with Aaron Plattner's fix squashed in (by anholt). Signed-off-by: Karol Kosik Signed-off-by: Aaron Plattner Signed-off-by: Eric Anholt Reviewed-by: Aaron Plattner (v1) Reviewed-by: Emil Velikov (v1) Tested-by: Peter Hutterer Tested-by: Eric Anholt Commit: e9dbecf7c259f7e8b610fa93f97ea55f5dafa7af https://github.com/XQuartz/xorg-server/commit/e9dbecf7c259f7e8b610fa93f97ea55f5dafa7af Author: Adam Jackson Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M os/timingsafe_memcmp.c Log Message: ----------- timingsafe_memcmp: Fix meson build Include dix-config.h first to pick up _GNU_SOURCE so we get the definition for sigset_t. Reported-by: Pekka Paalanen Signed-off-by: Adam Jackson Commit: 95e5fa04762fa0f04ac1349708d9e33c30205a96 https://github.com/XQuartz/xorg-server/commit/95e5fa04762fa0f04ac1349708d9e33c30205a96 Author: Jon TURNEY Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M include/meson.build Log Message: ----------- meson: Remove stray whitespace Reviewed-by: Eric Anholt Signed-off-by: Jon Turney Commit: 5bff2a68560837fc402905fef6244ce794c47843 https://github.com/XQuartz/xorg-server/commit/5bff2a68560837fc402905fef6244ce794c47843 Author: Jon TURNEY Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M meson.build Log Message: ----------- meson: Nettle is required if it's the only SHA1 choice Reviewed-by: Eric Anholt Signed-off-by: Jon Turney Commit: fdb11e2274f1d1069cdc9ff7b3655288c1b42cf4 https://github.com/XQuartz/xorg-server/commit/fdb11e2274f1d1069cdc9ff7b3655288c1b42cf4 Author: Jon TURNEY Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M meson.build Log Message: ----------- meson: Don't require xf86dgaproto This dependency is never used, and build_dga is hardwired to false later on, anyhow. Reviewed-by: Eric Anholt Signed-off-by: Jon Turney Commit: 820a4cbe9fef36bc97a7107ccc74a785180e227a https://github.com/XQuartz/xorg-server/commit/820a4cbe9fef36bc97a7107ccc74a785180e227a Author: Jon TURNEY Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M dri3/meson.build M hw/xfree86/dri/meson.build M hw/xfree86/dri2/meson.build M hw/xfree86/drivers/modesetting/meson.build M hw/xfree86/meson.build M hw/xfree86/os-support/meson.build M include/meson.build M meson.build M meson_options.txt Log Message: ----------- meson: Make driprotos and libdrm optional Add options for DRI{1,2,3} shmfence is required for DRI3 libdrm is required for any DRI{1,2,3} Consolidate calls to dependency('libdrm') Set WITH_LIBDRM when building with libdrm v2: Initialize libxserver_dri3 to [] Manually flatten libxserver, since meson doesn't (currently) Use version_compare rather than circumloctions with dependency() Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: 16054647abfc9fe5f71d0098e17415e45fa28199 https://github.com/XQuartz/xorg-server/commit/16054647abfc9fe5f71d0098e17415e45fa28199 Author: Jon TURNEY Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M meson.build Log Message: ----------- meson: Refine build_dbus As in autotools build, only turn on build_dbus (build dbus-core.c) if it's needed by build_hal or build_systemd_logind, not just because dbus is available. Building dbus-core.c without NEED_DBUS defined fails, as the contents of dbus-core.h are turned off. Signed-off-by: Jon Turney Acked-by: Eric Anholt Commit: e67ca940473e249c7b9712ce6d515310ed1e4cf9 https://github.com/XQuartz/xorg-server/commit/e67ca940473e249c7b9712ce6d515310ed1e4cf9 Author: Jon TURNEY Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M meson.build Log Message: ----------- meson: An empty array is not a dependency object Using the meson idiom of initializing a variaible to an empty array to represent a null value does not work well for a variable expected to hold a dependency object, as trying to apply found() to it will fail (currently). I think this can be demonstrated by configuing with Dglamor=no, then gbm_dep is set to [] in meson.build, and then tested with found() in include/meson.build. Use dependency('') to create an empty dependency. Future work: In the autotools build GBM is required if build_xorg & build_glamor. I suspect that it was also required for build_xwayland & build_glamor, but that was never checked. That test seems to have gone missing in meson.build, the required:false when checking for gbm should possibly be dropped? Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: ba1599610b1889545be8a9314dce8a740a2764d3 https://github.com/XQuartz/xorg-server/commit/ba1599610b1889545be8a9314dce8a740a2764d3 Author: Peter Harris Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M include/meson.build Log Message: ----------- meson: Detect arc4random_buf Reviewed-by: Eric Anholt Signed-off-by: Peter Harris Commit: 03d6275e6094a5ede5a70f05bbbdde653a9fd9e0 https://github.com/XQuartz/xorg-server/commit/03d6275e6094a5ede5a70f05bbbdde653a9fd9e0 Author: Peter Harris Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M include/meson.build Log Message: ----------- meson: Detect more functions Set HAVE_REALLOCARRAY, HAVE_SIGACTION, HAVE_STRCASESTR, HAVE_STRLCAT, HAVE_STRLCPY, HAVE_TIMINGSAFE_MEMCMP, and BUSFAULT. Reviewed-by: Eric Anholt Signed-off-by: Peter Harris Commit: c4c002d1ca80bd69776387dafb9c5bb082c72e48 https://github.com/XQuartz/xorg-server/commit/c4c002d1ca80bd69776387dafb9c5bb082c72e48 Author: Peter Harris Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M os/meson.build Log Message: ----------- meson: Only detect each function once Use conf_data outside of include/ to avoid re-running detection of the same functions. Reviewed-by: Eric Anholt Signed-off-by: Peter Harris Commit: 0ff2fb128bf35dffaa302f15e9ae004b65ee0827 https://github.com/XQuartz/xorg-server/commit/0ff2fb128bf35dffaa302f15e9ae004b65ee0827 Author: Peter Harris Date: 2017-05-10 (Wed, 10 May 2017) Changed paths: M include/meson.build M include/os.h Log Message: ----------- meson: Detect strlcat/strlcpy/reallocarray in libbsd If we're linking with libbsd anyway, we might as well use the functions it provides instead of compiling our replacements. Signed-off-by: Peter Harris Reviewed-by: Eric Anholt Commit: 0848390d51f93ecfb9342cffe1cda46a65cfc07b https://github.com/XQuartz/xorg-server/commit/0848390d51f93ecfb9342cffe1cda46a65cfc07b Author: Adam Jackson Date: 2017-05-11 (Thu, 11 May 2017) Changed paths: M hw/kdrive/ephyr/ephyrinit.c Log Message: ----------- xephyr: Fix regeneration I had said: commit c42311a9d7d2e5a67bdb7f4fa32032b4feba59b1 Author: Adam Jackson Date: Fri Mar 24 15:58:54 2017 -0400 kdrive: Remove KdOsFuncs Only the Init slot was used, and Xephyr can just as easily do that initialization directly. And I'd've been right, but I forgot to make that initialization only happen on startup (i.e. when serverGeneration == 1). Reviewed-and-Tested-by: Michel Dänzer Signed-off-by: Adam Jackson Commit: 318257029578a30e29c191befa94a20ad07f97d4 https://github.com/XQuartz/xorg-server/commit/318257029578a30e29c191befa94a20ad07f97d4 Author: Frank Binns Date: 2017-05-11 (Thu, 11 May 2017) Changed paths: M hw/xfree86/parser/scan.c Log Message: ----------- hw/xfree86: fix comment typo Signed-off-by: Frank Binns Commit: 6634ffc4d26846dcf892f27682f9021f6d9956a9 https://github.com/XQuartz/xorg-server/commit/6634ffc4d26846dcf892f27682f9021f6d9956a9 Author: Julien Cristau Date: 2017-05-11 (Thu, 11 May 2017) Changed paths: M Xext/xf86bigfont.c Log Message: ----------- Drop workaround for pre-glibc linux It seems unlikely anyone still needs to build against libc4/libc5. Reviewed-by: Adam Jackson Signed-off-by: Julien Cristau Commit: c394f6b27329d212d2a8b9b3c6da1ef7847c46f3 https://github.com/XQuartz/xorg-server/commit/c394f6b27329d212d2a8b9b3c6da1ef7847c46f3 Author: Julien Cristau Date: 2017-05-11 (Thu, 11 May 2017) Changed paths: M hw/xfree86/common/compiler.h M hw/xfree86/common/xf86Config.c M hw/xfree86/common/xf86Configure.c M hw/xfree86/common/xf86Init.c M hw/xfree86/common/xf86str.h M hw/xfree86/os-support/bus/Pci.h M hw/xfree86/os-support/bus/Sbus.c M hw/xfree86/os-support/bus/xf86Sbus.h M hw/xfree86/os-support/linux/lnx_agp.c M hw/xfree86/os-support/misc/SlowBcopy.c Log Message: ----------- Replace all checks for 'linux' macro with '__linux__' gcc -std=c99 does not define the former, and it's a horrible namespace confusion anyway. Signed-off-by: Julien Cristau Reviewed-by: Adam Jackson Tested-by: Pekka Paalanen Commit: d9e23ea4228575344e3b4c0443cecc5eb75356e4 https://github.com/XQuartz/xorg-server/commit/d9e23ea4228575344e3b4c0443cecc5eb75356e4 Author: Keith Packard Date: 2017-05-12 (Fri, 12 May 2017) Changed paths: M dix/dispatch.c Log Message: ----------- dix: Remove clients from input and output ready queues after closing Delay removing the client from these two queues until all potential I/O has completed in case we mark the client as ready for reading or with pending output during the close operation. Bugzilla: https://bugs.freedesktop.org/100957 Signed-off-by: Keith Packard Tested-by: Nick Sarnie Reviewed-by: Michel Dänzer Commit: 152375f4e4f1ee4833129802730b36af8d0f7e1a https://github.com/XQuartz/xorg-server/commit/152375f4e4f1ee4833129802730b36af8d0f7e1a Author: Adam Jackson Date: 2017-05-12 (Fri, 12 May 2017) Changed paths: M hw/xfree86/os-support/xf86_OSlib.h M hw/xfree86/parser/scan.c M os/osdep.h M os/utils.c Log Message: ----------- os, xfree86: Stop being so weird about Whatever problem this is trying to fix, we don't care. Just include the thing and stop worrying about whether _POSIX_SOURCE is defined. Signed-off-by: Adam Jackson Reviewed-by: Alan Coopersmith Reviewed-by: Julien Cristau Tested-by: Pekka Paalanen Commit: 49c742557457ff9200a10f32daadfcea50d4911c https://github.com/XQuartz/xorg-server/commit/49c742557457ff9200a10f32daadfcea50d4911c Author: Adam Jackson Date: 2017-05-12 (Fri, 12 May 2017) Changed paths: M include/meson.build Log Message: ----------- meson: Fix CLOCK_MONOTONIC test C99 isn't enough on its own to get POSIX feature sets defined. Signed-off-by: Adam Jackson Reviewed-by: Julien Cristau Tested-by: Pekka Paalanen Commit: 7a19a3e093a62a779c3cab8c28930adcb1604e0d https://github.com/XQuartz/xorg-server/commit/7a19a3e093a62a779c3cab8c28930adcb1604e0d Author: Peter Hutterer Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M hw/xfree86/drivers/modesetting/meson.build M hw/xfree86/loader/symbol-test.c M hw/xfree86/meson.build Log Message: ----------- xfree86: build a shared lib identical to Xorg Because we can use a shared lib in dlsym() for the symbol loader test, but we can't use the executable. v2: Drop a stray ' ' and rebase on 820a4cbe9fe, by anholt Signed-off-by: Peter Hutterer Reviewed-by: Eric Anholt Commit: 7a90c9b24e6776c8f1fa43df4268f79a465c0d4e https://github.com/XQuartz/xorg-server/commit/7a90c9b24e6776c8f1fa43df4268f79a465c0d4e Author: Jon Turney Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M hw/xfree86/common/xf86Config.c Log Message: ----------- xfree86: Hide unused variables when !XSERVER_LIBPCIACCESS ../hw/xfree86/common/xf86Config.c: In function ‘xf86HandleConfigFile’: ../hw/xfree86/common/xf86Config.c:2278:10: warning: unused variable ‘singlecard’ [-Wunused-variable] ../hw/xfree86/common/xf86Config.c:2277:17: warning: unused variable ‘scanptr’ [-Wunused-variable] Signed-off-by: Jon Turney Reviewed-by: Yaakov Selkowitz Commit: 319daa7a9fa8bcfdefb08d7770912775af22ad99 https://github.com/XQuartz/xorg-server/commit/319daa7a9fa8bcfdefb08d7770912775af22ad99 Author: Jon Turney Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M hw/xwin/winwndproc.c Log Message: ----------- hw/xwin: Fix -Wmaybe-uninitialized warning in winWindowProc This is possibly an actual bug in failing to check we successfully retrieved the monitor size before using it to set the X screen size. ../hw/xwin/winwndproc.c: In function ‘winWindowProc’: ../hw/xwin/winwndproc.c:283:55: warning: ‘dwHeight’ may be used uninitialized in this function [-Wmaybe-uninitialized] ../hw/xwin/winwndproc.c:240:32: note: ‘dwHeight’ was declared here ../hw/xwin/winwndproc.c:281:54: warning: ‘dwWidth’ may be used uninitialized in this function [-Wmaybe-uninitialized] ../hw/xwin/winwndproc.c:240:23: note: ‘dwWidth’ was declared here Signed-off-by: Jon Turney Reviewed-by: Yaakov Selkowitz Commit: e49f5947eda578d8b029f42fb4ec9c90f413b4b3 https://github.com/XQuartz/xorg-server/commit/e49f5947eda578d8b029f42fb4ec9c90f413b4b3 Author: Jon Turney Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M hw/xwin/winshadddnl.c M hw/xwin/winshadgdi.c Log Message: ----------- hw/xwin: Fix -Wmaybe-uninitialized warnings in engine CloseScreen wrappers ../hw/xwin/winshadgdi.c: In function ‘winCloseScreenShadowGDI’: ../hw/xwin/winshadgdi.c:632:12: warning: ‘fReturn’ may be used uninitialized in this function [-Wmaybe-uninitialized] ../hw/xwin/winshadgdi.c:579:10: note: ‘fReturn’ was declared here ../hw/xwin/winshadddnl.c: In function ‘winCloseScreenShadowDDNL’: ../hw/xwin/winshadddnl.c:711:12: warning: ‘fReturn’ may be used uninitialized in this function [-Wmaybe-uninitialized] ../hw/xwin/winshadddnl.c:661:10: note: ‘fReturn’ was declared here Signed-off-by: Jon Turney Reviewed-by: Yaakov Selkowitz Commit: fd96ff7fb325f54cb06c2bf5b8c37c75457b5c42 https://github.com/XQuartz/xorg-server/commit/fd96ff7fb325f54cb06c2bf5b8c37c75457b5c42 Author: Jon Turney Date: 2017-05-15 (Mon, 15 May 2017) Changed paths: M hw/xwin/winmultiwindowwm.c Log Message: ----------- hw/xwin: Fix -Wunused-function warning for MessageName() in non-debug builds ../hw/xwin/winmultiwindowwm.c:188:1: warning: ‘MessageName’ defined but not used [-Wunused-function] Signed-off-by: Jon Turney Reviewed-by: Yaakov Selkowitz Commit: 5064153c79d8b18767c0ade7635680a2f396f296 https://github.com/XQuartz/xorg-server/commit/5064153c79d8b18767c0ade7635680a2f396f296 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Print a useful identifying string on initialization. The EGL version is not used anywhere in the glamor code, so it's not interesting. And when saying that we've started using GL acceleration, it's nice to know what GL we're actually using. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 5102ea38eb7331aeb1258cd148fd374cf0cbf8f2 https://github.com/XQuartz/xorg-server/commit/5102ea38eb7331aeb1258cd148fd374cf0cbf8f2 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Unifdef GLAMOR_HAS_GBM. We only build this code with GBM, and supporting non-GBM well would be invasive. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 32957d9faeb8b0e968a23d91ed7391c0465dd1b9 https://github.com/XQuartz/xorg-server/commit/32957d9faeb8b0e968a23d91ed7391c0465dd1b9 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M hw/xfree86/drivers/modesetting/dri2.c M hw/xfree86/drivers/modesetting/driver.c M hw/xfree86/drivers/modesetting/driver.h M hw/xfree86/drivers/modesetting/drmmode_display.c M hw/xfree86/drivers/modesetting/pageflip.c M hw/xfree86/drivers/modesetting/present.c Log Message: ----------- modesetting: Drop code for GLAMOR && !GLAMOR_HAS_GBM. The glamor_egl module that the GLAMOR paths are using is only built if GLAMOR_HAS_GBM is true, and there's no plan for implementing the module without GBM. Simplify modesetting's code as a result. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: b1b71b7a8b2d2c5d8f4afa67b75d10d4e7cbaa20 https://github.com/XQuartz/xorg-server/commit/b1b71b7a8b2d2c5d8f4afa67b75d10d4e7cbaa20 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Drop the has_gem flag. We're using GBM, so we know we've got GEM. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 40a153ee452390f713f7e5638af320a70defe106 https://github.com/XQuartz/xorg-server/commit/40a153ee452390f713f7e5638af320a70defe106 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Always require the gbm-based image import path. This has been associated with dri3 for now, but we need to use it elsewhere in order to avoid flink. The extensions have been implemented for long enough that I couldn't find when it was that we turned them on. Oddly, we already required renderbuffer import support, which is basically as hard to implement as texture import. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Acked-by: Daniel Stone Commit: a6a751e5d8962b01abc2a92ec35300f68cb38d94 https://github.com/XQuartz/xorg-server/commit/a6a751e5d8962b01abc2a92ec35300f68cb38d94 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Drop unnecessary check for KHR_gl_renderbuffer_image. I couldn't find it being used anywhere in the history of the code. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 37618e810b70c24bb8a97dce844963ed1a99f897 https://github.com/XQuartz/xorg-server/commit/37618e810b70c24bb8a97dce844963ed1a99f897 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Drop dead gl_context_depth. This was replaced in 4afe15d8bfd575c010ed1868697a7922a37ab378, but not deleted. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 5d6f17d913bd4de0b4594585c0a8ba4f717a2a78 https://github.com/XQuartz/xorg-server/commit/5d6f17d913bd4de0b4594585c0a8ba4f717a2a78 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Drop dead "cpp" field It's been unused since the initial import. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 59de50d6ef3331ee03eb82d4acba45aa75c70d42 https://github.com/XQuartz/xorg-server/commit/59de50d6ef3331ee03eb82d4acba45aa75c70d42 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Avoid flink names in glamor_egl_create_textured_pixmap(). Using flink is banned on render nodes, and they needlessly expose our screen pixmap contents to any authenticated client. This also incidentally drops the dependency on EGL_MESA_drm_image. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 6e793ae08510639d011f638bcfc5246b9cccd1ae https://github.com/XQuartz/xorg-server/commit/6e793ae08510639d011f638bcfc5246b9cccd1ae Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Drop warning about indirect GLX and GLES2. Indirect GLX uses its own context and doesn't care what glamor is using. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: f6bf5f1c7475ff1b19b0e8c3e71c1224d5b6bc82 https://github.com/XQuartz/xorg-server/commit/f6bf5f1c7475ff1b19b0e8c3e71c1224d5b6bc82 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Remove check for KHR_surfaceless_context_* Those extensions don't exist. There's only surfaceless_context. Signed-off-by: Eric Anholt Reviewed-by: Emil Velikov Commit: c36f56808ffbefc4a3dcf61dfad17f62aeb8e16c https://github.com/XQuartz/xorg-server/commit/c36f56808ffbefc4a3dcf61dfad17f62aeb8e16c Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Automatically choose a GLES2 context if desktop GL fails. GLES2 support has been requested multiple times, and we've had this code laying around trying to implement it. The GLES2 implementation is not quite there yet (some pixel transfer failures), but it shouldn't take much fixing at this point. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: d0675e96f1fc8501324c88afa648a9d394f35587 https://github.com/XQuartz/xorg-server/commit/d0675e96f1fc8501324c88afa648a9d394f35587 Author: Eric Anholt Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M glamor/glamor.h M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Drop glamor_egl_create_textured_screen_ext(). The function hasn't been doing anything useful since keithp's resource freeing fixes in 2014. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: 57c223002c61c8ceb84fa7a02a3c1579517996f3 https://github.com/XQuartz/xorg-server/commit/57c223002c61c8ceb84fa7a02a3c1579517996f3 Author: Adam Jackson Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M mi/misprite.c Log Message: ----------- misprite: Remove some dead cache variables Unused since Keith ported misprite to damage in '04. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Reviewed-by: Keith Packard Commit: 933d80ba93cf9b5d32ce8673d60810c128debdab https://github.com/XQuartz/xorg-server/commit/933d80ba93cf9b5d32ce8673d60810c128debdab Author: Adam Jackson Date: 2017-05-18 (Thu, 18 May 2017) Changed paths: M mi/misprite.c Log Message: ----------- misprite: Clean up some preprocessor abuse Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Reviewed-by: Keith Packard Commit: bf3a591fdc5c98f7cab232bf5ec39902947ae2e5 https://github.com/XQuartz/xorg-server/commit/bf3a591fdc5c98f7cab232bf5ec39902947ae2e5 Author: Peter Hutterer Date: 2017-05-29 (Mon, 29 May 2017) Changed paths: M fb/fbpict.h Log Message: ----------- fb: remove some superfluous empty lines Signed-off-by: Peter Hutterer Commit: 96af794dc648eadcd596893412d7530e92cb5421 https://github.com/XQuartz/xorg-server/commit/96af794dc648eadcd596893412d7530e92cb5421 Author: Peter Hutterer Date: 2017-05-29 (Mon, 29 May 2017) Changed paths: M hw/xfree86/common/xf86pciBus.c Log Message: ----------- xfree86: up the path name size to 512 in xf86MatchDriverFromFiles ./hw/xfree86/common/xf86pciBus.c: In function ‘xf86MatchDriverFromFiles’: ../hw/xfree86/common/xf86pciBus.c:1330:52: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=] snprintf(path_name, sizeof(path_name), "%s/%s", ^~~~~~~ ../hw/xfree86/common/xf86pciBus.c:1330:13: note: ‘snprintf’ output between 2 dirent->d_name is 256, so sprintf("%s/%s") into a 256 buffer gives us: and 257 bytes into a destination of size 256 Signed-off-by: Peter Hutterer Commit: 2fbf62b2fb3dcb29551251d09aa695715bb754f4 https://github.com/XQuartz/xorg-server/commit/2fbf62b2fb3dcb29551251d09aa695715bb754f4 Author: Jason Gerecke Date: 2017-05-29 (Mon, 29 May 2017) Changed paths: M hw/xfree86/os-support/shared/posix_tty.c Log Message: ----------- xfree86: Fix interpretation of xf86WaitForInput timeout Commit aa6717ce2 switched xf86WaitForInput from using select(2) to using poll(2). Before this change, the timeout was interpreted as being in microseconds; afterwards it is fed directly to xorg_poll which interprets it as being in milliseconds. This results in the function potentially blocking 1000x longer than intended. This commit scales down the timeout argument before passing it to xorg_poll, being careful to ensure the result is not rounded down due to integer division. Signed-off-by: Jason Gerecke Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 4f29366f1e5678505fb882143c9b4a892d5b8273 https://github.com/XQuartz/xorg-server/commit/4f29366f1e5678505fb882143c9b4a892d5b8273 Author: Lyude Date: 2017-05-31 (Wed, 31 May 2017) Changed paths: M hw/xwayland/xwayland.c Log Message: ----------- xwayland: Don't load extension list more than once When running an Xwayland server from the command line, we end up resetting the server every time all of the clients connected to the server leave. This would be fine, except that xwayland makes the mistake of unconditionally calling LoadExtensionList(). This causes us to setup the glxExtension twice in a row which means that when we lose our last client on the second server generation, we end up trying to call the glx destructors twice in a row resulting in a segfault: (EE) (EE) Backtrace: (EE) 0: Xwayland (OsSigHandler+0x3b) [0x4982f9] (EE) 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x70845bf] (EE) 2: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32897d) [0x1196e5bd] (EE) 3: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x328a45) [0x1196e745] (EE) 4: /usr/lib64/dri/swrast_dri.so (__driDriverGetExtensions_virtio_gpu+0x32665f) [0x11969f7f] (EE) 5: Xwayland (__glXDRIscreenDestroy+0x30) [0x54686e] (EE) 6: Xwayland (glxCloseScreen+0x3f) [0x5473db] (EE) 7: Xwayland (glxCloseScreen+0x53) [0x5473ef] (EE) 8: Xwayland (dix_main+0x7b6) [0x44c8c9] (EE) 9: Xwayland (main+0x28) [0x61c503] (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x72b1401] (EE) 11: Xwayland (_start+0x2a) [0x4208fa] (EE) 12: ? (?+0x2a) [0x2a] (EE) (EE) Segmentation fault at address 0x18 (EE) Fatal server error: (EE) Caught signal 11 (Segmentation fault). Server aborting (EE) Easy reproduction recipe: - Start an Xwayland session with the default settings - Open a window - Close that window - Open another window - Close that window - Total annihilation occurs Signed-off-by: Lyude Reviewed-by: Michel Dänzer Signed-off-by: Peter Hutterer Commit: d8ccfb132602be88e640cc87ea58496e0445aab7 https://github.com/XQuartz/xorg-server/commit/d8ccfb132602be88e640cc87ea58496e0445aab7 Author: Eric Anholt Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M Xext/sync.c M include/meson.build Log Message: ----------- meson: Fix enabling of xshmfence. I misspelled the enable flag, so DRI3 would throw BadImplementation when you tried to start any GL app. Same as in c7be7a688a78a34f61b90c0d95914e14b90b0cdc, we also convert it to #ifdef for consistency. Signed-off-by: Eric Anholt Reviewed-by: Peter Hutterer Commit: 793af4d3f945b1d59eb2f84e625b581ea90b0066 https://github.com/XQuartz/xorg-server/commit/793af4d3f945b1d59eb2f84e625b581ea90b0066 Author: Jon Turney Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M hw/xwin/Makefile.am M hw/xwin/win.h Log Message: ----------- hw/xwin: Don't unconditionally include rootless.h Don't unconditionally include rootless.h, and so we don't need to add rootless to the include path unless building MWEXTWM. Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: 36b9dac212a0f8a287cdbd35db152a5eb5cbc744 https://github.com/XQuartz/xorg-server/commit/36b9dac212a0f8a287cdbd35db152a5eb5cbc744 Author: Jon Turney Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M configure.ac M hw/xwin/Makefile.am R hw/xwin/winvideo.c Log Message: ----------- hw/xwin: Remove pretense of Xv support Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: 1f38a31ed3969471cbed69c61edb971f6cff5287 https://github.com/XQuartz/xorg-server/commit/1f38a31ed3969471cbed69c61edb971f6cff5287 Author: Jon Turney Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M hw/meson.build A hw/xwin/dri/meson.build A hw/xwin/glx/meson.build A hw/xwin/meson.build A hw/xwin/winclipboard/meson.build M include/meson.build A include/xwin-config.h.meson.in M meson.build M meson_options.txt Log Message: ----------- Add meson.build for XWin server (v2) This needs a meson with PRs #1784, #1792 and #1794 Future work: remove conditionals which are always on, and simplify redundant CYGDEBUG conditionals Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: fd0d2523a33620b36cd478925ddac5cf70f9c409 https://github.com/XQuartz/xorg-server/commit/fd0d2523a33620b36cd478925ddac5cf70f9c409 Author: Eric Anholt Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor_egl: Stop saving the EGL major/minor version. We don't use them for anything. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 49b12cb7360608b14caef5facb12f146d0bd15e6 https://github.com/XQuartz/xorg-server/commit/49b12cb7360608b14caef5facb12f146d0bd15e6 Author: Eric Anholt Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M glamor/glamor.c M glamor/glamor_core.c M glamor/glamor_priv.h Log Message: ----------- glamor: Stop tracking the screen_fbo. This means we no longer get "s" for on-screen drawing in glamor_debug, and there's only "m" (CPU memory) or "f" (Any GPU memory, aka FBOs). That seems fine to me. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 72ddad7a97fa062bf9967d221c9a5520ebe33352 https://github.com/XQuartz/xorg-server/commit/72ddad7a97fa062bf9967d221c9a5520ebe33352 Author: Eric Anholt Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M glamor/glamor.c M glamor/glamor.h M glamor/glamor_egl.c M hw/xfree86/drivers/modesetting/drmmode_display.c M hw/xwayland/xwayland-glamor.c Log Message: ----------- glamor: Drop glamor_set_screen_pixmap(). All that was left here was updating the FBO's size. However, the FBO size was always set correctly already through glamor_set_pixmap_texture() from whoever had attached a new BO to the pixmap. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: 87db150d8a572d8983a234663aaaab9cb8b6c98d https://github.com/XQuartz/xorg-server/commit/87db150d8a572d8983a234663aaaab9cb8b6c98d Author: Eric Anholt Date: 2017-06-02 (Fri, 02 Jun 2017) Changed paths: M glamor/glamor_debug.h M glamor/glamor_priv.h Log Message: ----------- glamor: Remove the "delayed fallback" code. The usage of this died with the old core rendering code. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Commit: d164c10850609c96fd46c8441efd40940b06dfe0 https://github.com/XQuartz/xorg-server/commit/d164c10850609c96fd46c8441efd40940b06dfe0 Author: Michel Dänzer Date: 2017-06-05 (Mon, 05 Jun 2017) Changed paths: M hw/xfree86/man/xorg.conf.man M hw/xfree86/modes/xf86Crtc.c Log Message: ----------- xfree86: Add Option "PreferCloneMode" When the default behaviour was changed from clone mode to horizontal extended layout, a boolean ScrnInfoRec member preferClone was introduced to choose the old default behaviour. Option "PreferCloneMode" allows setting this preferClone member. Reviewed-by: Alex Deucher Commit: 7c88977d338a01aca866e52c9e736f8857fb9ae4 https://github.com/XQuartz/xorg-server/commit/7c88977d338a01aca866e52c9e736f8857fb9ae4 Author: Michel Dänzer Date: 2017-06-05 (Mon, 05 Jun 2017) Changed paths: M glamor/glamor_utils.h Log Message: ----------- glamor: Store the actual EGL/GLX context pointer in lastGLContext Fixes subtle breakage which could sometimes trigger after a server reset with multiple screens using glamor: Screen A enters glamor_close_screen last and calls various cleanup functions, which at some point call glamor_make_current to make sure screen A's GL context is current. This sets lastGLContext to screen A's &glamor_priv->ctx. Finally, glamor_close_screen calls glamor_release_screen_priv, which calls free(glamor_priv). Later, screen B enters glamor_init, which allocates a new glamor_priv. With bad luck, this can return the same pointer which was previously used for screen A's glamor_priv. So when screen B's glamor_init calls glamor_make_current, lastGLContext == &glamor_priv->ctx, so MakeCurrent isn't called for screen B's GL context, and the following OpenGL API calls triggered by glamor_init mess up screen A's GL context. The observed end result of this was a crash in glamor_get_vbo_space because glamor_priv->vbo didn't match the GL context, though there might be other possible outcomes. Assigning the actual GL context pointer to lastGLContext prevents this by preventing the false negative test in glamor_make_current. Reviewed-by: Keith Packard Reviewed-by: Eric Anholt Commit: f065721e6fa6e9057cca4eadaf145a4dc22a08d2 https://github.com/XQuartz/xorg-server/commit/f065721e6fa6e9057cca4eadaf145a4dc22a08d2 Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M dix/events.c Log Message: ----------- dix: assume warping on the RootWindow always happens on visible coords If the root window borderClip region is null, the PointInWindowIsVisible() check fails if pointer warping is attempted on the root window, making the warping operation bail out early. Assume coordinates always lay inside the root window for this case, the actual position will be clamped later within screen coordinates anyway. Signed-off-by: Carlos Garnacho Acked-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942 https://github.com/XQuartz/xorg-server/commit/c217fcb4c4640ffd2fefee63c6fcd7ea5e64b942 Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M hw/xwayland/xwayland.c Log Message: ----------- xwayland: Allow pointer warp on root/None window Of sorts, as we can't honor pointer warping across the whole root window coordinates, peek the pointer focus in these cases. Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2 https://github.com/XQuartz/xorg-server/commit/fafdb0cc9697eb53635ed1e78bec1d4cd87ab3a2 Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M hw/xwayland/xwayland.c Log Message: ----------- xwayland: "Accept" confineTo on InputOnly windows Of sorts, actually make it confine to the pointer focus, as the InputOnly window is entirely invisible to xwayland accounting, we don't have a xwl_window for it. Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b https://github.com/XQuartz/xorg-server/commit/513e3bd3870fdb8a8e0e2e52c0fa93872300bc8b Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M hw/xwayland/xwayland-output.c M hw/xwayland/xwayland.c Log Message: ----------- xwayland: Update root window size when desktop size changes This fixes grabs on InputOnly windows whose parent is the root window failing with GrabNotViewable. This is due to window->borderSize/windowSize being computed as clipped by its parent, resulting in a null region. Setting up the right size on the root window makes the InputOnly size correct too, so the GrabNotViewable paths aren't hit anymore. Signed-off-by: Carlos Garnacho Acked-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1 https://github.com/XQuartz/xorg-server/commit/ca17f3e9fd3b59fdc5ffd0e5d78e4db6ddc87aa1 Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Lock the pointer if it is confined and has no cursor In the typical pattern in games of "hide cursor, grab with a confineTo, warp constantly the pointer to the middle of the window" the last warping step is actually rather optional. Some games may choose to just set up a grab with confineTo argument, and trust that they'll get correct relative X/Y axis values despite the hidden cursor hitting the confinement window edge. To cater for these cases, lock the pointer whenever there is a pointer confinement and the cursor is hidden. This ensures the pointer position is in sync with the compositor's when it's next shown again, and more importantly resorts to the relative pointer for event delivery. Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 95febc42cadf392a888104ad6d5cf4f34fdde7d5 https://github.com/XQuartz/xorg-server/commit/95febc42cadf392a888104ad6d5cf4f34fdde7d5 Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M Xi/xiwarppointer.c Log Message: ----------- Xi: Use WarpPointerProc hook on XI pointer warping implementation Just like we do with XWarpPointer's. Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: d5e2f271ad93e50412ff3605fb25cb9622f437e0 https://github.com/XQuartz/xorg-server/commit/d5e2f271ad93e50412ff3605fb25cb9622f437e0 Author: Carlos Garnacho Date: 2017-06-07 (Wed, 07 Jun 2017) Changed paths: M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Remove two unused proc pointers. Xwayland doesn't override these, so we don't need defining those in the xwl_screen struct. Signed-off-by: Carlos Garnacho Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: fbc9814975fe82be25becf1a55d4f8d34298a956 https://github.com/XQuartz/xorg-server/commit/fbc9814975fe82be25becf1a55d4f8d34298a956 Author: Jason Gerecke Date: 2017-06-12 (Mon, 12 Jun 2017) Changed paths: M hw/xwayland/xwayland-input.c Log Message: ----------- xwayland: Correct off-by-one error in tablet button numbering The 'tablet_tool_frame' function treats the button masks as though they are zero-indexed, but 'tablet_tool_button_state' treats them as one- indexed. The result is that an e.g. middle click event recieved from Wayland will be sent from the X server as a right-click instead. Fixes: 773b04748d0 ("xwayland: handle button events after motion events") Signed-off-by: Jason Gerecke Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 7c7a540f1e1d6b5466e1c9aa28476a2d7273d5ed https://github.com/XQuartz/xorg-server/commit/7c7a540f1e1d6b5466e1c9aa28476a2d7273d5ed Author: Jason Gerecke Date: 2017-06-12 (Mon, 12 Jun 2017) Changed paths: M hw/xwayland/xwayland-input.c M hw/xwayland/xwayland.h Log Message: ----------- xwayland: Implement tablet_tool_wheel for scrolling The 'tablet_tool_wheel' function for tablet scrolling was added back in 8a1defcc634 but left unimplemented. This commit fills in the necessary details, using the "clicks" count as the number of discrete scroll up/down events to send. Signed-off-by: Jason Gerecke Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: d4995a3936ae283b9080fdaa0905daa669ebacfc https://github.com/XQuartz/xorg-server/commit/d4995a3936ae283b9080fdaa0905daa669ebacfc Author: Adam Jackson Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c Log Message: ----------- modesetting: Validate the atom for enum properties The client could have said anything here, and if what they said doesn't actually name an atom NameForAtom() will return NULL, and strcmp() will be unhappy about that. Signed-off-by: Adam Jackson Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: ffda82ed04d28feae2e001dbd0c32d6c795d90b1 https://github.com/XQuartz/xorg-server/commit/ffda82ed04d28feae2e001dbd0c32d6c795d90b1 Author: Michel Dänzer Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M glamor/glamor_copy.c Log Message: ----------- glamor: Fix temporary pixmap coordinate offsets The previous values happened to work in basic cases, but not in general if the destination is a subwindow or has a border. Fixes crash with xli, which moves a large subwindow inside a smaller parent window for scrolling. No regressions with xterm, x11perf -copyplane or the xscreensaver phosphor hack. Bug: https://bugs.debian.org/857983 Reviewed-by: Keith Packard Commit: c86fc56b10b603b41ae37057eedfa9c86b609752 https://github.com/XQuartz/xorg-server/commit/c86fc56b10b603b41ae37057eedfa9c86b609752 Author: Keith Packard Date: 2017-06-12 (Mon, 12 Jun 2017) Changed paths: M glamor/glamor_copy.c Log Message: ----------- glamor: Clarify variable names in glamor_copy_cpu_fbo This function creates a temporary pixmap to hold data being moved from the source to the destination. However, it labeled all of the variables associated with this as src_, which makes it confusing to read the code. Rename them tmp_ instead. Also fix the comment describing the function to note that it copies from CPU to GPU, not GPU to GPU. Signed-off-by: Keith Packard Reviewed-by: Michel Dänzer Commit: 5d941ccb0b30399d505b48bff894c95cc3023bbe https://github.com/XQuartz/xorg-server/commit/5d941ccb0b30399d505b48bff894c95cc3023bbe Author: Keith Packard Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M os/connection.c M os/osdep.h Log Message: ----------- os: Eliminate ConnectionTranslation This infrastructure is no longer read, only written; the mapping from fd to client is now handled by ospoll. Reviewed-by: Adam Jackson Signed-off-by: Keith Packard Commit: 523d35e3e1c703a655386f6348a4bfb4291c3969 https://github.com/XQuartz/xorg-server/commit/523d35e3e1c703a655386f6348a4bfb4291c3969 Author: Keith Packard Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M os/connection.c M os/io.c M os/osdep.h Log Message: ----------- os: Use CloseDownFileDescriptor from AbortClient, including ospoll_remove AbortClient performs most of the same operations as CloseDownFileDescriptor except that it doesn't call ospoll_remove, leaving that unaware that the file descriptor has been closed. If the file descriptor is re-used before the server comes back around to clean up, and that new file descriptor is passed to SetNotifyFd, then that function will mistakenly re-interpret the stale ClientPtr returned by ospoll_data as a struct notify * instead and mangle data badly. To fix this, the patch does: 1) Change CloseDownFileDescriptor so that it can be called multiple times on the same OsCommPtr. The calls related to the file descriptor are moved inside the check for trans_conn and oc->trans_conn is set to NULL after cleaning up. 2) Move the XdmcpCloseDisplay call into CloseDownFileDescriptor. I don't think the actually matters as we just need to know at some point that the session client has exited. Moving it avoids the possibility of having this accidentally trigger from another client with the same fd which closes down at around the same time. 3) Change AbortClient to call CloseDownFileDescriptor. This makes sure that all of the fd-related clean up happens in the same way everywhere, in particular ensures that ospoll is notified about the closed file descriptor at the time it is closed and not some time later. Debian-bug: https://bugs.debian.org/862824 Reviewed-by: Adam Jackson Signed-off-by: Keith Packard Commit: 448a5586e9235bee9648d89e4103ed48e6237c15 https://github.com/XQuartz/xorg-server/commit/448a5586e9235bee9648d89e4103ed48e6237c15 Author: Keith Packard Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M os/connection.c Log Message: ----------- os: Don't call ospoll_listen/ospoll_mute after connection is closed In set_poll_client, check oc->trans_conn to make sure the connection is still running before changing the ospoll configuration of the file descriptor in case some other bit of the server is now using this file descriptor. Reviewed-by: Adam Jackson Signed-off-by: Keith Packard Commit: d05c754e1bde895589fb514d8f518afeccecbc05 https://github.com/XQuartz/xorg-server/commit/d05c754e1bde895589fb514d8f518afeccecbc05 Author: Keith Packard Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M os/io.c Log Message: ----------- os: Check oc->trans_conn before using oc->fd in YieldControlNoInput oc->trans_conn is set to NULL when the connection is closed. At this point, oc->fd is no longer valid and shouldn't be used. Move dereference of oc->fd up into YieldControlNoInput where the state of oc->trans_conn can be checked in a single place. Reviewed-by: Adam Jackson Signed-off-by: Keith Packard Commit: f3689f637f5ac0fb6c231a470e65b39aa5e9ba20 https://github.com/XQuartz/xorg-server/commit/f3689f637f5ac0fb6c231a470e65b39aa5e9ba20 Author: Keith Packard Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M os/connection.c Log Message: ----------- os: Set oc->fd to -1 when connection is closed This ensures that we don't use the now-closed file descriptor in the future. Reviewed-by: Adam Jackson Signed-off-by: Keith Packard Commit: 75bf302ed20f4b9794f71f84c1da2b9fcd689356 https://github.com/XQuartz/xorg-server/commit/75bf302ed20f4b9794f71f84c1da2b9fcd689356 Author: Eric Anholt Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M hw/dmx/glxProxy/glxcmds.c M hw/dmx/glxProxy/glxcmdsswap.c Log Message: ----------- dmx: Remove includes of glxtokens.h Our top-level glx.h include already provides all of the tokens we use, and fixes redefinition warnings in the meson build. Reviewed-by: Adam Jackson Signed-off-by: Eric Anholt Commit: fda2b064a0ebd223e8a39fd19f5c5ad1da0776e8 https://github.com/XQuartz/xorg-server/commit/fda2b064a0ebd223e8a39fd19f5c5ad1da0776e8 Author: Eric Anholt Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M hw/xfree86/drivers/modesetting/meson.build Log Message: ----------- meson: Fix test for whether we've built glamor-EGL. This matches the test we use for going into the glamor_egl subdir in ../../meson.build. Commit: 01dfb65ee2e34148718d3f95dfd4629024edba84 https://github.com/XQuartz/xorg-server/commit/01dfb65ee2e34148718d3f95dfd4629024edba84 Author: Eric Anholt Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: A .travis.yml A test/scripts/build-travis-deps.sh Log Message: ----------- travis: Add a build script for Travis CI. This currently does a meson build using a docker image I've prepared. The Dockerfile source is at: https://github.com/anholt/xserver-travis Docker proved to be necessary to cut the build time per Travis push. If some day we end up using meson in more of the X stack, we may be able to move more dependencies out of the docker image and into the CI build (putting the I in CI). Until then, we'll have to do docker image rebuilds when dependencies are added/updated. To enable Travis CI on your github repository, see the first two steps of the docs at: https://docs.travis-ci.com/user/getting-started/ Once you do that, pushing branches to your github repo will trigger builds, which will send you email if they fail. Current build status can be veiewed your account on travis-ci.org: https://travis-ci.org/anholt/xserver Commit: d82c3cee02a99cf7861d1effaa5c7d38683a7783 https://github.com/XQuartz/xorg-server/commit/d82c3cee02a99cf7861d1effaa5c7d38683a7783 Author: Eric Anholt Date: 2017-06-13 (Tue, 13 Jun 2017) Changed paths: M .travis.yml Log Message: ----------- travis: Enable ccache. We bind-mount the cache directory into the container. Cuts build time from about 4 minutes to 2. Signed-off-by: Eric Anholt Commit: 05442de962d3dc624f79fc1a00eca3ffc5489ced https://github.com/XQuartz/xorg-server/commit/05442de962d3dc624f79fc1a00eca3ffc5489ced Author: Michal Srb Date: 2017-06-19 (Mon, 19 Jun 2017) Changed paths: M Xi/sendexev.c Log Message: ----------- Xi: Zero target buffer in SProcXSendExtensionEvent. Make sure that the xEvent eventT is initialized with zeros, the same way as in SProcSendEvent. Some event swapping functions do not overwrite all 32 bytes of xEvent structure, for example XSecurityAuthorizationRevoked. Two cooperating clients, one swapped and the other not, can send XSecurityAuthorizationRevoked event to each other to retrieve old stack data from X server. This can be potentialy misused to go around ASLR or stack-protector. Signed-off-by: Michal Srb Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 215f894965df5fb0bb45b107d84524e700d2073c https://github.com/XQuartz/xorg-server/commit/215f894965df5fb0bb45b107d84524e700d2073c Author: Michal Srb Date: 2017-06-19 (Mon, 19 Jun 2017) Changed paths: M dix/events.c M dix/swapreq.c Log Message: ----------- dix: Disallow GenericEvent in SendEvent request. The SendEvent request holds xEvent which is exactly 32 bytes long, no more, no less. Both ProcSendEvent and SProcSendEvent verify that the received data exactly match the request size. However nothing stops the client from passing in event with xEvent::type = GenericEvent and any value of xGenericEvent::length. In the case of ProcSendEvent, the event will be eventually passed to WriteEventsToClient which will see that it is Generic event and copy the arbitrary length from the receive buffer (and possibly past it) and send it to the other client. This allows clients to copy unitialized heap memory out of X server or to crash it. In case of SProcSendEvent, it will attempt to swap the incoming event by calling a swapping function from the EventSwapVector array. The swapped event is written to target buffer, which in this case is local xEvent variable. The xEvent variable is 32 bytes long, but the swapping functions for GenericEvents expect that the target buffer has size matching the size of the source GenericEvent. This allows clients to cause stack buffer overflows. Signed-off-by: Michal Srb Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 8caed4df36b1f802b4992edcfd282cbeeec35d9d https://github.com/XQuartz/xorg-server/commit/8caed4df36b1f802b4992edcfd282cbeeec35d9d Author: Michal Srb Date: 2017-06-19 (Mon, 19 Jun 2017) Changed paths: M Xi/sendexev.c Log Message: ----------- Xi: Verify all events in ProcXSendExtensionEvent. The requirement is that events have type in range EXTENSION_EVENT_BASE..lastEvent, but it was tested only for first event of all. Signed-off-by: Michal Srb Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: ba336b24052122b136486961c82deac76bbde455 https://github.com/XQuartz/xorg-server/commit/ba336b24052122b136486961c82deac76bbde455 Author: Michal Srb Date: 2017-06-19 (Mon, 19 Jun 2017) Changed paths: M Xi/sendexev.c Log Message: ----------- Xi: Do not try to swap GenericEvent. The SProcXSendExtensionEvent must not attempt to swap GenericEvent because it is assuming that the event has fixed size and gives the swapping function xEvent-sized buffer. A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway. Signed-off-by: Michal Srb Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer Commit: 091af80be48c37f16c679d35fc12ad33e6b0cd74 https://github.com/XQuartz/xorg-server/commit/091af80be48c37f16c679d35fc12ad33e6b0cd74 Author: Aaron Plattner Date: 2017-06-19 (Mon, 19 Jun 2017) Changed paths: M randr/rrcrtc.c Log Message: ----------- randr: Use RRTransformEqual in RRCrtcPendingTransform Currently, RRCrtcPendingTransform returns false unless the transformation matrix itself is changing. This makes RRCrtcSet skip doing anything if the only thing that is changing is the transform filter. There's already a function for comparing RRTransformPtrs, so use that instead. Tested by running xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter nearest follwed by xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter bilinear Signed-off-by: Aaron Plattner Reviewed-and-Tested-by: Michel Dänzer Commit: 4212c884c423e5ce2cd3b4d67c0d656475fddc79 https://github.com/XQuartz/xorg-server/commit/4212c884c423e5ce2cd3b4d67c0d656475fddc79 Author: Michel Dänzer Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/modes/xf86RandR12.c Log Message: ----------- xfree86/modes: Use RRTransformEqual in xf86RandR12CrtcSet The memcmp didn't catch when e.g. only the filter changed. Tested by alternately running xrandr --output DVI-I-0 --scale-from 3840x2160 --filter bilinear xrandr --output DVI-I-0 --scale-from 3840x2160 --filter nearest Reviewed-by: Aaron Plattner Commit: 6d2b7d33678e7a881ebdb5ceb4a32509ad3ee930 https://github.com/XQuartz/xorg-server/commit/6d2b7d33678e7a881ebdb5ceb4a32509ad3ee930 Author: Jon Turney Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/os-support/meson.build Log Message: ----------- meson: Restore stub ossupport Don't build BSD ossupport when there is no specific support, build stubs Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: fb212f2c1bcfb015112aa665dd1f25d9b80f86fc https://github.com/XQuartz/xorg-server/commit/fb212f2c1bcfb015112aa665dd1f25d9b80f86fc Author: Jon Turney Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M meson.build M meson_options.txt Log Message: ----------- meson: Make VBE and VGAHW modules optional Don't build them on platforms where they aren't meaningful. Note that autoconf defines WITH_VGAHW when building the VGAHW module, but that doesn't seem to be used anywhere, so we just drop that. Signed-off-by: Jon Turney Reviewed-by: Eric Anholt Commit: e905b19a53f96013c4417bec993a1dea5a3b0a5f https://github.com/XQuartz/xorg-server/commit/e905b19a53f96013c4417bec993a1dea5a3b0a5f Author: Michel Dänzer Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/common/xf86pciBus.c Log Message: ----------- xfree86: Print BusID stanza compatible bus IDs for found devices The PCI domain has to be specified like this: "PCI:@::" Example before: (--) PCI:*(0:0:1:0) 1002:130f:1043:85cb [...] (--) PCI: (0:1:0:0) 1002:6939:1458:229d [...] after: (--) PCI:*(0 at 0:1:0) 1002:130f:1043:85cb [...] (--) PCI: (1 at 0:0:0) 1002:6939:1458:229d [...] Reviewed-by: Alex Deucher Signed-off-by: Michel Dänzer Commit: 8e00dc59b51da7e0d3978c26b1884c4767aa2dc2 https://github.com/XQuartz/xorg-server/commit/8e00dc59b51da7e0d3978c26b1884c4767aa2dc2 Author: Michel Dänzer Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/common/xf86pciBus.c Log Message: ----------- xfree86: Fix printing of PCI domain/bus in xf86MatchPciInstances It was attempting to use the @ format accepted by the BusID stanza, but the two values were swapped. Reviewed-by: Alex Deucher Signed-off-by: Michel Dänzer Commit: 3b0fd9421add9f0ca8958ced0f39b2da21143c22 https://github.com/XQuartz/xorg-server/commit/3b0fd9421add9f0ca8958ced0f39b2da21143c22 Author: Michel Dänzer Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/man/xorg.conf.man Log Message: ----------- xfree86: Document BusID PCI domain format in xorg.conf manpage Reviewed-by: Alex Deucher Signed-off-by: Michel Dänzer Commit: d2e57f71ad16f1e677dd542a8bc0db87dfa9791d https://github.com/XQuartz/xorg-server/commit/d2e57f71ad16f1e677dd542a8bc0db87dfa9791d Author: Michel Dänzer Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/doc/ddxDesign.xml Log Message: ----------- xfree86: Document BusID PCI domain format in ddxDesign.xml Reviewed-by: Alex Deucher Signed-off-by: Michel Dänzer Commit: 88e807d4fa90165868929190f601beef18252f57 https://github.com/XQuartz/xorg-server/commit/88e807d4fa90165868929190f601beef18252f57 Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M include/extnsionst.h Log Message: ----------- include: Remove some unused macros Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: f44e0af4daaad5b18d79f2076bc98d6e79f638af https://github.com/XQuartz/xorg-server/commit/f44e0af4daaad5b18d79f2076bc98d6e79f638af Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M Xext/xselinux_ext.c M dix/extension.c M glx/glxext.c M hw/dmx/glxProxy/glxext.c M include/extnsionst.h Log Message: ----------- dix: Remove extension aliases This appears to be essentially unused. The only known client-side library for the SELinux extension is xcb, which does not look for the name "Flask". The "SGI-GLX" alias for GLX appears to be a bit of superstition at this point, NVIDIA's driver does not expose it and Mesa does not check for it. Signed-off-by: Adam Jackson Acked-by: Keith Packard Commit: b723da8390d2fe1bf048247302416b37972a0cc3 https://github.com/XQuartz/xorg-server/commit/b723da8390d2fe1bf048247302416b37972a0cc3 Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/common/xf86.h M hw/xfree86/common/xf86Events.c Log Message: ----------- xfree86: Remove unused xf86EnableVTSwitch Signed-off-by: Adam Jackson Acked-by: Keith Packard Commit: fbc4da6fef2a0d2111284a19c26d83686ebcbd1f https://github.com/XQuartz/xorg-server/commit/fbc4da6fef2a0d2111284a19c26d83686ebcbd1f Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/xfree86/common/xf86pciBus.c M hw/xfree86/common/xf86str.h M hw/xfree86/dri/dri.c M hw/xfree86/dri/dri.h Log Message: ----------- xfree86: Move DRICreatePCIBusID to the PCI code This symbol is used by some DRI2+ drivers and there's nothing DRI1-specific about it. Signed-off-by: Adam Jackson Acked-by: Keith Packard Commit: 17ad6e5d5616039021455bc821d6ee2497f7ebde https://github.com/XQuartz/xorg-server/commit/17ad6e5d5616039021455bc821d6ee2497f7ebde Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/dmx/input/usb-keyboard.c Log Message: ----------- dmx: Silence an unused-result warning Modern glibc is very insistent that you care about whether write() succeeds: ../hw/dmx/input/usb-keyboard.c: In function ‘kbdUSBCtrl’: ../hw/dmx/input/usb-keyboard.c:292:9: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] write(priv->fd, &event, sizeof(event)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: d6db66811643d3762716f6b144a7358572216a4f https://github.com/XQuartz/xorg-server/commit/d6db66811643d3762716f6b144a7358572216a4f Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M hw/dmx/dmxinit.c Log Message: ----------- dmx: Remove some not-very-interesting debug prints gcc/glibc think the snprintf in dmxExecOS() might truncate. Yes, it might, and we also don't care. Just delete all this. Signed-off-by: Adam Jackson Acked-by: Keith Packard Commit: c33541e59e338cd53f89d94a6898555d350e84aa https://github.com/XQuartz/xorg-server/commit/c33541e59e338cd53f89d94a6898555d350e84aa Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M glx/glxext.c M glx/indirect_program.c M glx/indirect_texture_compression.c M glx/indirect_util.c M glx/single2.c M glx/single2swap.c M glx/singlepix.c M glx/singlepixswap.c M glx/unpack.h Log Message: ----------- glx: Remove __glXReply Static data bad, hulk smash. Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 0b1831d043028f7dd6accca19a81e2abd9a145b5 https://github.com/XQuartz/xorg-server/commit/0b1831d043028f7dd6accca19a81e2abd9a145b5 Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M glx/glxcmds.c M glx/glxcontext.h M glx/glxdri2.c M glx/glxdriswrast.c M hw/xwin/glx/indirect.c Log Message: ----------- glx: Remove some indirection around EXT_texture_from_pixmap Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: a6c23ef31a4e5aea19ddabdf4a0760f4c48f1ebe https://github.com/XQuartz/xorg-server/commit/a6c23ef31a4e5aea19ddabdf4a0760f4c48f1ebe Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M glx/glxdri2.c Log Message: ----------- glx/dri2: Don't chirp when falling back to software This isn't an error if the screen isn't accelerated in the first place. Signed-off-by: Adam Jackson Acked-by: Keith Packard Commit: ecc5e362985d1f649c29ac5f93be19851eaf7d87 https://github.com/XQuartz/xorg-server/commit/ecc5e362985d1f649c29ac5f93be19851eaf7d87 Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M glx/glxdriswrast.c Log Message: ----------- glx/drisw: Remove unused glx_enable_bits Sloppy of me! Signed-off-by: Adam Jackson Acked-by: Keith Packard Commit: 525db17e04d5cabaeefd20e38cebe7d606047a76 https://github.com/XQuartz/xorg-server/commit/525db17e04d5cabaeefd20e38cebe7d606047a76 Author: Adam Jackson Date: 2017-06-20 (Tue, 20 Jun 2017) Changed paths: M glx/glxdriswrast.c Log Message: ----------- glx/drisw: Use scratch GCs for swrastPutImage The scratch GC defaults to the same state as our persistent GCs. Except for the "draw" GC, which would generate graphics exposures for... well, no reason really, PutImage doesn't generate graphics exposures. Signed-off-by: Adam Jackson Reviewed-by: Keith Packard Commit: 5c8fb7d128e312e6c01cd40c7ada072c4b5f3776 https://github.com/XQuartz/xorg-server/commit/5c8fb7d128e312e6c01cd40c7ada072c4b5f3776 Author: Adam Jackson Date: 2017-06-22 (Thu, 22 Jun 2017) Changed paths: M hw/xfree86/common/xf86str.h M hw/xfree86/os-support/bus/xf86Pci.h Log Message: ----------- xfree86: Move DRICreatePCIBusID to xf86Pci.h xf86str.h is parsed into sdksyms unconditionally but the symbol is only defined when building with PCI support. Move the decl to a header that sdksyms only parses when building PCI support. Signed-off-by: Adam Jackson Reviewed-by: Jon Turney Commit: fbdd73fac68383c93f6f5c6a7615860503039999 https://github.com/XQuartz/xorg-server/commit/fbdd73fac68383c93f6f5c6a7615860503039999 Author: Jon TURNEY Date: 2017-06-27 (Tue, 27 Jun 2017) Changed paths: M configure.ac M hw/xfree86/Makefile.am M hw/xfree86/dixmods/Makefile.am M hw/xfree86/dixmods/meson.build R hw/xfree86/dixmods/xkbKillSrv.c R hw/xfree86/dixmods/xkbPrivate.c R hw/xfree86/dixmods/xkbVT.c M hw/xfree86/meson.build A hw/xfree86/xkb/Makefile.am A hw/xfree86/xkb/meson.build A hw/xfree86/xkb/xkbKillSrv.c A hw/xfree86/xkb/xkbPrivate.c A hw/xfree86/xkb/xkbVT.c M test/Makefile.am Log Message: ----------- Move statically linked xorgxkb files from dixmods to a separate directory [ajax: Fixed test/Makefile.am as well] Reviewed-by: Adam Jackson Commit: b34abb3d2da46339d59a0feefd2240790a6a6a0e https://github.com/XQuartz/xorg-server/commit/b34abb3d2da46339d59a0feefd2240790a6a6a0e Author: Jon TURNEY Date: 2017-06-27 (Tue, 27 Jun 2017) Changed paths: M hw/xfree86/meson.build Log Message: ----------- meson: Shuffle around subdirs so we build Xorg loadable modules after Xorg Reviewed-by: Adam Jackson Commit: 47a7b63f7455eaeacb634fd800e924f2087dacbd https://github.com/XQuartz/xorg-server/commit/47a7b63f7455eaeacb634fd800e924f2087dacbd Author: Jon TURNEY Date: 2017-06-27 (Tue, 27 Jun 2017) Changed paths: M hw/xfree86/meson.build Log Message: ----------- meson: Use --export-all-symbols when building PE/COFF objects Reviewed-by: Adam Jackson Commit: 06419a5b17180126d2507c8699229e07f5b2c434 https://github.com/XQuartz/xorg-server/commit/06419a5b17180126d2507c8699229e07f5b2c434 Author: Emil Velikov Date: 2017-06-29 (Thu, 29 Jun 2017) Changed paths: M glamor/glamor_egl.c Log Message: ----------- glamor: remove no longer needed KHR_gl_texture_2D_image requirement The code that needed it was introduced with commit 7cfd9cc2327 ("Add DRI3 support to glamor") back in 2013. And was nuked a couple of years ago with commit 51984dddfcc ("glamor: Delay making pixmaps shareable until we need to.") Signed-off-by: Emil Velikov Reviewed-by: Eric Anholt Commit: edaad0eff48219787d27f7723cd3d4d9b293de96 https://github.com/XQuartz/xorg-server/commit/edaad0eff48219787d27f7723cd3d4d9b293de96 Author: Adam Jackson Date: 2017-06-29 (Thu, 29 Jun 2017) Changed paths: M Makefile.am Log Message: ----------- automake: Add hw/xfree86/xkb/meson.build to EXTRA_DIST Signed-off-by: Adam Jackson Commit: 43527d31810fe94a5eb4b2543bbc8eb26b1654b7 https://github.com/XQuartz/xorg-server/commit/43527d31810fe94a5eb4b2543bbc8eb26b1654b7 Author: Peter Hutterer Date: 2017-07-04 (Tue, 04 Jul 2017) Changed paths: M hw/xfree86/man/xorg.conf.man Log Message: ----------- xfree86: link to libinput(4) from the xorg.conf man page Signed-off-by: Peter Hutterer Reviewed-by: Pekka Paalanen Commit: ce393de0efb8626d15f3b97c97916971a6aefebd https://github.com/XQuartz/xorg-server/commit/ce393de0efb8626d15f3b97c97916971a6aefebd Author: Dave Airlie Date: 2017-07-04 (Tue, 04 Jul 2017) Changed paths: M hw/xfree86/drivers/modesetting/drmmode_display.c Log Message: ----------- modesetting: handle NULL cursor in drmmode_set_cursor. We had a bug reported with a touchscreen where we could end up in here with a NULL cursor, so let's not crash the X server. Signed-off-by: Dave Airlie Reviewed-and-Tested-by: Daniel Martin Signed-off-by: Peter Hutterer Commit: 04511a0476b5c860e7d157b01080dff94d935f74 https://github.com/XQuartz/xorg-server/commit/04511a0476b5c860e7d157b01080dff94d935f74 Author: Adam Jackson Date: 2017-07-05 (Wed, 05 Jul 2017) Changed paths: M hw/xwayland/drm.xml Log Message: ----------- wayland: Sync drm.xml with Mesa ... where it is named src/egl/wayland/wayland-drm/wayland-drm.xml and has its requests sorted by protocol version number, avoiding a warning from wayland-scanner. Signed-off-by: Adam Jackson Reviewed-by: Daniel Stone Commit: 05a4396f08c83d9261b8ad16908d9e2730bd4bbf https://github.com/XQuartz/xorg-server/commit/05a4396f08c83d9261b8ad16908d9e2730bd4bbf Author: Emil Velikov Date: 2017-07-05 (Wed, 05 Jul 2017) Changed paths: M glamor/glamor.h Log Message: ----------- glamor: update "required EGL extensions" comment The extensions listed have not been needed in a while. Replace with the only remaining requirement. Reviewed-by: Adam Jackson Signed-off-by: Emil Velikov Commit: abb031e731f5c159add1b3351de9c4bb121bf00a https://github.com/XQuartz/xorg-server/commit/abb031e731f5c159add1b3351de9c4bb121bf00a Author: Rodrigo Vivi Date: 2017-07-06 (Thu, 06 Jul 2017) Changed paths: M hw/xfree86/dri2/pci_ids/i965_pci_ids.h Log Message: ----------- dri2: Sync i965_pci_ids.h from Mesa. Copied from Mesa with no modifications. Gives us Coffee Lake and Cannon Lake PCI IDs. Signed-off-by: Rodrigo Vivi Acked-by: Kenneth Graunke Commit: 211e05ac85a294ef361b9f80d689047fa52b9076 https://github.com/XQuartz/xorg-server/commit/211e05ac85a294ef361b9f80d689047fa52b9076 Author: Michal Srb Date: 2017-07-11 (Tue, 11 Jul 2017) Changed paths: M Xi/xibarriers.c Log Message: ----------- Xi: Test exact size of XIBarrierReleasePointer Otherwise a client can send any value of num_barriers and cause reading or swapping of values on heap behind the receive buffer. Signed-off-by: Peter Hutterer Commit: 6f373c53a83e85d66eb5c4bfd5fbb8f734b8b0ea https://github.com/XQuartz/xorg-server/commit/6f373c53a83e85d66eb5c4bfd5fbb8f734b8b0ea Author: Jeremy Huddleston Sequoia Date: 2017-07-20 (Thu, 20 Jul 2017) Changed paths: M os/connection.c Log Message: ----------- os/connection: Improve abstraction for launchd secure sockets This changes away from hard-coding the /tmp/launch-* path to now supporting a generic [.] format for $DISPLAY. cf-libxcb: d978a4f69b30b630f28d07f1003cf290284d24d8 Signed-off-by: Jeremy Huddleston Sequoia CC: Adam Jackson Commit: e2ef50d6b6c76f70c857b1fd2c3475f234959c64 https://github.com/XQuartz/xorg-server/commit/e2ef50d6b6c76f70c857b1fd2c3475f234959c64 Author: Jeremy Huddleston Sequoia Date: 2017-07-20 (Thu, 20 Jul 2017) Changed paths: M randr/randr.c Log Message: ----------- randr: Initialize RandR even if there are currently no screens attached Failure to do so causes an overvlow in RRClientCallback(). ================================================================= ==41262==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000103ccfbc8 at pc 0x0001034f32b9 bp 0x7000035a94c0 sp 0x7000035a94b8 WRITE of size 4 at 0x000103ccfbc8 thread T6 #0 0x1034f32b8 in RRClientCallback randr.c:72 #1 0x1038c75e3 in _CallCallbacks dixutils.c:737 #2 0x10388f406 in CallCallbacks callback.h:83 #3 0x1038bc49a in NextAvailableClient dispatch.c:3562 #4 0x103ad094c in AllocNewConnection connection.c:777 #5 0x103ad1695 in EstablishNewConnections connection.c:863 #6 0x1038c6630 in ProcessWorkQueue dixutils.c:523 #7 0x103ab2dbf in WaitForSomething WaitFor.c:175 #8 0x103880836 in Dispatch dispatch.c:411 #9 0x1038c2141 in dix_main main.c:301 #10 0x1032ac75a in server_thread quartzStartup.c:66 #11 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa) #12 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6) #13 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc) Signed-off-by: Jeremy Huddleston Sequoia Commit: c1be98f9f94f4048e209dfddf127275f60adcece https://github.com/XQuartz/xorg-server/commit/c1be98f9f94f4048e209dfddf127275f60adcece Author: Jeremy Huddleston Sequoia Date: 2017-07-20 (Thu, 20 Jul 2017) Changed paths: M glx/glxext.c Log Message: ----------- glx: Initialize glx even if there are currently no screens attached Failure to do so causes an overvlow in glxClientCallback Application Specific Information: X.Org X Server 1.18.99.1 Build Date: 20160911 ================================================================= ==52118==ERROR: AddressSanitizer: SEGV on unknown address 0x000102b27b80 (pc 0x000103433245 bp 0x70000de67c20 sp 0x70000de67c00 T6) #0 0x103433244 in __asan::asan_free(void*, __sanitizer::BufferedStackTrace*, __asan::AllocType) (libclang_rt.asan_osx_dynamic.dylib+0x3244) #1 0x10347aeee in wrap_free (libclang_rt.asan_osx_dynamic.dylib+0x4aeee) #2 0x102e6a5ed in glxClientCallback glxext.c:301 #3 0x102b672a3 in _CallCallbacks dixutils.c:737 #4 0x102b2f0c6 in CallCallbacks callback.h:83 #5 0x102b5c15a in NextAvailableClient dispatch.c:3562 #6 0x102d7060c in AllocNewConnection connection.c:777 #7 0x102d71355 in EstablishNewConnections connection.c:863 #8 0x102b662f0 in ProcessWorkQueue dixutils.c:523 #9 0x102d52a7f in WaitForSomething WaitFor.c:175 #10 0x102b204f6 in Dispatch dispatch.c:411 #11 0x102b61e01 in dix_main main.c:301 #12 0x10254c42a in server_thread quartzStartup.c:66 #13 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa) #14 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6) #15 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc) Signed-off-by: Jeremy Huddleston Sequoia Commit: 655f08446311d8eade3a391aff5467955797a8bd https://github.com/XQuartz/xorg-server/commit/655f08446311d8eade3a391aff5467955797a8bd Author: Jeremy Huddleston Sequoia Date: 2017-07-20 (Thu, 20 Jul 2017) Changed paths: M hw/xquartz/X11Application.m Log Message: ----------- XQuartz: Hack around an issue that can occur on macOS due to background apps incorrectly stealing focus Works around . Tested-by: Martin Otte Tested-by: Tom Lane Signed-off-by: Jeremy Huddleston Sequoia Compare: https://github.com/XQuartz/xorg-server/compare/3e6b701d9062...655f08446311 From jeremyhu at apple.com Thu Jul 20 01:14:08 2017 From: jeremyhu at apple.com (Jeremy Huddleston Sequoia) Date: Thu, 20 Jul 2017 01:14:08 -0700 Subject: [Xquartz-changes] [XQuartz/xorg-server] 2137cc: os/connection: Improve abstraction for launchd sec... Message-ID: <59706650d6fa8_1ccaa3fc2584d1c3c34468@hookshot-fe-6dbb0c4.cp1-iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/XQuartz/xorg-server Commit: 2137ccbfa7e8831510f35dfeea824e1c9b4d9e2c https://github.com/XQuartz/xorg-server/commit/2137ccbfa7e8831510f35dfeea824e1c9b4d9e2c Author: Jeremy Huddleston Sequoia Date: 2017-07-20 (Thu, 20 Jul 2017) Changed paths: M os/connection.c Log Message: ----------- os/connection: Improve abstraction for launchd secure sockets This changes away from hard-coding the /tmp/launch-* path to now supporting a generic [.] format for $DISPLAY. cf-libxcb: d978a4f69b30b630f28d07f1003cf290284d24d8 Signed-off-by: Jeremy Huddleston Sequoia Commit: bde6ce6adc4a6f631f4752ef4e63e4542d6b0de5 https://github.com/XQuartz/xorg-server/commit/bde6ce6adc4a6f631f4752ef4e63e4542d6b0de5 Author: Jeremy Huddleston Sequoia Date: 2017-07-20 (Thu, 20 Jul 2017) Changed paths: M hw/xquartz/X11Application.m Log Message: ----------- XQuartz: Hack around an issue that can occur on macOS due to background apps incorrectly stealing focus Works around . Tested-by: Martin Otte Tested-by: Tom Lane Signed-off-by: Jeremy Huddleston Sequoia Compare: https://github.com/XQuartz/xorg-server/compare/655f08446311...bde6ce6adc4a