diff --git a/0001-randr-rrCheckPixmapBounding-Do-not-substract-crtc-no.patch b/0001-randr-rrCheckPixmapBounding-Do-not-substract-crtc-no.patch new file mode 100644 index 0000000..0621f03 --- /dev/null +++ b/0001-randr-rrCheckPixmapBounding-Do-not-substract-crtc-no.patch @@ -0,0 +1,56 @@ +From 10f3c8d6eab0af074d0371152ada543e4dfe7369 Mon Sep 17 00:00:00 2001 +From: Hans De Goede +Date: Tue, 22 Nov 2016 15:28:51 +0100 +Subject: [PATCH xserver 1/2] 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 +--- + randr/rrcrtc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c +index 5d404e8..ac853ea 100644 +--- a/randr/rrcrtc.c ++++ b/randr/rrcrtc.c +@@ -686,8 +686,8 @@ rrCheckPixmapBounding(ScreenPtr pScreen, + } + + newsize = RegionExtents(&total_region); +- new_width = newsize->x2 - newsize->x1; +- new_height = newsize->y2 - newsize->y1; ++ new_width = newsize->x2; ++ new_height = newsize->y2; + + if (new_width == screen_pixmap->drawable.width && + new_height == screen_pixmap->drawable.height) { +-- +2.9.3 + diff --git a/0001-xwayland-Fix-use-after-free-of-cursors.patch b/0001-xwayland-Fix-use-after-free-of-cursors.patch new file mode 100644 index 0000000..3c1633d --- /dev/null +++ b/0001-xwayland-Fix-use-after-free-of-cursors.patch @@ -0,0 +1,83 @@ +From 5fd444d8e92dd6ae9a2bb0b5235e2375a17f09ac Mon Sep 17 00:00:00 2001 +From: Olivier Fourdan +Date: Tue, 22 Nov 2016 09:48:03 +0100 +Subject: [PATCH xserver] xwayland: Fix use after free of cursors +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +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 +--- + hw/xwayland/xwayland-input.c | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c +index 0526122..681bc9d 100644 +--- a/hw/xwayland/xwayland-input.c ++++ b/hw/xwayland/xwayland-input.c +@@ -312,6 +312,9 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer, + dx = xwl_seat->focus_window->window->drawable.x; + dy = xwl_seat->focus_window->window->drawable.y; + ++ /* We just entered a new xwindow, forget about the old last xwindow */ ++ xwl_seat->last_xwindow = NullWindow; ++ + master = GetMaster(dev, POINTER_OR_FLOAT); + (*pScreen->SetCursorPosition) (dev, pScreen, dx + sx, dy + sy, TRUE); + +@@ -360,8 +363,14 @@ pointer_handle_leave(void *data, struct wl_pointer *pointer, + + xwl_seat->xwl_screen->serial = serial; + +- xwl_seat->focus_window = NULL; +- CheckMotion(NULL, GetMaster(dev, POINTER_OR_FLOAT)); ++ /* The pointer has left a known xwindow, save it for a possible match ++ * in sprite_check_lost_focus() ++ */ ++ if (xwl_seat->focus_window) { ++ xwl_seat->last_xwindow = xwl_seat->focus_window->window; ++ xwl_seat->focus_window = NULL; ++ CheckMotion(NULL, GetMaster(dev, POINTER_OR_FLOAT)); ++ } + } + + static void +@@ -1256,10 +1265,10 @@ sprite_check_lost_focus(SpritePtr sprite, WindowPtr window) + */ + if (master->lastSlave == xwl_seat->pointer && + xwl_seat->focus_window == NULL && +- xwl_seat->last_xwindow == window) ++ xwl_seat->last_xwindow != NullWindow && ++ IsParent (xwl_seat->last_xwindow, window)) + return TRUE; + +- xwl_seat->last_xwindow = window; + return FALSE; + } + +-- +2.9.3 + diff --git a/0001-xwayland-shm-block-signals-during-fallocate.patch b/0001-xwayland-shm-block-signals-during-fallocate.patch deleted file mode 100644 index 3e8f742..0000000 --- a/0001-xwayland-shm-block-signals-during-fallocate.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 4cfee398726adf89db4b632ade7d6cab8b78282e Mon Sep 17 00:00:00 2001 -From: Ian Ray -Date: Wed, 25 May 2016 10:41:53 +0300 -Subject: [PATCH xserver v2 1/7] 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 ---- - hw/xwayland/xwayland-shm.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/hw/xwayland/xwayland-shm.c b/hw/xwayland/xwayland-shm.c -index daf6148..452d1f5 100644 ---- a/hw/xwayland/xwayland-shm.c -+++ b/hw/xwayland/xwayland-shm.c -@@ -28,6 +28,8 @@ - #include - #endif - -+#include "os.h" -+ - #include "xwayland.h" - - #include -@@ -139,9 +141,17 @@ os_create_anonymous_file(off_t size) - return -1; - - #ifdef HAVE_POSIX_FALLOCATE -+ /* -+ * posix_fallocate does an explicit rollback if it gets EINTR. -+ * Temporarily block signals to allow the call to succeed on -+ * slow systems where the smart scheduler's SIGALRM prevents -+ * large allocation attempts from ever succeeding. -+ */ -+ OsBlockSignals(); - do { - ret = posix_fallocate(fd, 0, size); - } while (ret == EINTR); -+ OsReleaseSignals(); - - if (ret != 0) { - close(fd); --- -2.9.3 - diff --git a/0002-dri2-Sync-i965_pci_ids.h-from-mesa.patch b/0002-dri2-Sync-i965_pci_ids.h-from-mesa.patch deleted file mode 100644 index 2293cc4..0000000 --- a/0002-dri2-Sync-i965_pci_ids.h-from-mesa.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 7513da40a656317ad3aa101651d29373de99c798 Mon Sep 17 00:00:00 2001 -From: Timo Aaltonen -Date: Wed, 2 Nov 2016 17:18:11 +0200 -Subject: [PATCH xserver v2 2/7] 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 ---- - hw/xfree86/dri2/pci_ids/i965_pci_ids.h | 32 +++++++++++++++++--------------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -diff --git a/hw/xfree86/dri2/pci_ids/i965_pci_ids.h b/hw/xfree86/dri2/pci_ids/i965_pci_ids.h -index 5139e27..1566afd 100644 ---- a/hw/xfree86/dri2/pci_ids/i965_pci_ids.h -+++ b/hw/xfree86/dri2/pci_ids/i965_pci_ids.h -@@ -112,6 +112,7 @@ CHIPSET(0x162E, bdw_gt3, "Intel(R) Broadwell GT3") - CHIPSET(0x1902, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)") - CHIPSET(0x1906, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)") - CHIPSET(0x190A, skl_gt1, "Intel(R) Skylake GT1") -+CHIPSET(0x190B, skl_gt1, "Intel(R) HD Graphics 510 (Skylake GT1)") - CHIPSET(0x190E, skl_gt1, "Intel(R) Skylake GT1") - CHIPSET(0x1912, skl_gt2, "Intel(R) HD Graphics 530 (Skylake GT2)") - CHIPSET(0x1913, skl_gt2, "Intel(R) Skylake GT2f") -@@ -122,19 +123,21 @@ CHIPSET(0x191A, skl_gt2, "Intel(R) Skylake GT2") - CHIPSET(0x191B, skl_gt2, "Intel(R) HD Graphics 530 (Skylake GT2)") - CHIPSET(0x191D, skl_gt2, "Intel(R) HD Graphics P530 (Skylake GT2)") - CHIPSET(0x191E, skl_gt2, "Intel(R) HD Graphics 515 (Skylake GT2)") --CHIPSET(0x1921, skl_gt2, "Intel(R) Skylake GT2") --CHIPSET(0x1923, skl_gt3, "Intel(R) Iris Graphics 540 (Skylake GT3e)") --CHIPSET(0x1926, skl_gt3, "Intel(R) HD Graphics 535 (Skylake GT3)") -+CHIPSET(0x1921, skl_gt2, "Intel(R) HD Graphics 520 (Skylake GT2)") -+CHIPSET(0x1923, skl_gt3, "Intel(R) Skylake GT3e") -+CHIPSET(0x1926, skl_gt3, "Intel(R) Iris Graphics 540 (Skylake GT3e)") - CHIPSET(0x1927, skl_gt3, "Intel(R) Iris Graphics 550 (Skylake GT3e)") - CHIPSET(0x192A, skl_gt4, "Intel(R) Skylake GT4") --CHIPSET(0x192B, skl_gt3, "Intel(R) Iris Graphics (Skylake GT3fe)") --CHIPSET(0x1932, skl_gt4, "Intel(R) Skylake GT4") --CHIPSET(0x193A, skl_gt4, "Intel(R) Skylake GT4") --CHIPSET(0x193B, skl_gt4, "Intel(R) Skylake GT4") --CHIPSET(0x193D, skl_gt4, "Intel(R) Skylake GT4") -+CHIPSET(0x192B, skl_gt3, "Intel(R) Iris Graphics 555 (Skylake GT3e)") -+CHIPSET(0x192D, skl_gt3, "Intel(R) Iris Graphics P555 (Skylake GT3e)") -+CHIPSET(0x1932, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)") -+CHIPSET(0x193A, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)") -+CHIPSET(0x193B, skl_gt4, "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)") -+CHIPSET(0x193D, skl_gt4, "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)") - CHIPSET(0x5902, kbl_gt1, "Intel(R) Kabylake GT1") - CHIPSET(0x5906, kbl_gt1, "Intel(R) Kabylake GT1") - CHIPSET(0x590A, kbl_gt1, "Intel(R) Kabylake GT1") -+CHIPSET(0x5908, kbl_gt1, "Intel(R) Kabylake GT1") - CHIPSET(0x590B, kbl_gt1, "Intel(R) Kabylake GT1") - CHIPSET(0x590E, kbl_gt1, "Intel(R) Kabylake GT1") - CHIPSET(0x5913, kbl_gt1_5, "Intel(R) Kabylake GT1.5") -@@ -147,17 +150,16 @@ CHIPSET(0x591B, kbl_gt2, "Intel(R) Kabylake GT2") - CHIPSET(0x591D, kbl_gt2, "Intel(R) Kabylake GT2") - CHIPSET(0x591E, kbl_gt2, "Intel(R) Kabylake GT2") - CHIPSET(0x5921, kbl_gt2, "Intel(R) Kabylake GT2F") -+CHIPSET(0x5923, kbl_gt3, "Intel(R) Kabylake GT3") - CHIPSET(0x5926, kbl_gt3, "Intel(R) Kabylake GT3") --CHIPSET(0x592A, kbl_gt3, "Intel(R) Kabylake GT3") --CHIPSET(0x592B, kbl_gt3, "Intel(R) Kabylake GT3") --CHIPSET(0x5932, kbl_gt4, "Intel(R) Kabylake GT4") --CHIPSET(0x593A, kbl_gt4, "Intel(R) Kabylake GT4") -+CHIPSET(0x5927, kbl_gt3, "Intel(R) Kabylake GT3") - CHIPSET(0x593B, kbl_gt4, "Intel(R) Kabylake GT4") --CHIPSET(0x593D, kbl_gt4, "Intel(R) Kabylake GT4") --CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherryview)") --CHIPSET(0x22B1, chv, "Intel(R) HD Graphics (Cherryview)") -+CHIPSET(0x22B0, chv, "Intel(R) HD Graphics (Cherrytrail)") -+CHIPSET(0x22B1, chv, "Intel(R) HD Graphics XXX (Braswell)") /* Overridden in brw_get_renderer_string */ - CHIPSET(0x22B2, chv, "Intel(R) HD Graphics (Cherryview)") - CHIPSET(0x22B3, chv, "Intel(R) HD Graphics (Cherryview)") - CHIPSET(0x0A84, bxt, "Intel(R) HD Graphics (Broxton)") - CHIPSET(0x1A84, bxt, "Intel(R) HD Graphics (Broxton)") -+CHIPSET(0x1A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)") - CHIPSET(0x5A84, bxt, "Intel(R) HD Graphics (Broxton)") -+CHIPSET(0x5A85, bxt_2x6, "Intel(R) HD Graphics (Broxton 2x6)") --- -2.9.3 - diff --git a/0002-randr-rrCheckPixmapBounding-do-not-shrink-the-screen.patch b/0002-randr-rrCheckPixmapBounding-do-not-shrink-the-screen.patch new file mode 100644 index 0000000..3995063 --- /dev/null +++ b/0002-randr-rrCheckPixmapBounding-do-not-shrink-the-screen.patch @@ -0,0 +1,73 @@ +From a17f2aee7e46b4f0e4214fbbac5e1b1d12057dbe Mon Sep 17 00:00:00 2001 +From: Hans De Goede +Date: Tue, 22 Nov 2016 15:28:52 +0100 +Subject: [PATCH xserver 2/2] 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 +--- + randr/rrcrtc.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c +index ac853ea..d1a51f0 100644 +--- a/randr/rrcrtc.c ++++ b/randr/rrcrtc.c +@@ -689,6 +689,12 @@ rrCheckPixmapBounding(ScreenPtr pScreen, + new_width = newsize->x2; + new_height = newsize->y2; + ++ if (new_width < screen_pixmap->drawable.width) ++ new_width = screen_pixmap->drawable.width; ++ ++ if (new_height < screen_pixmap->drawable.height) ++ new_height = screen_pixmap->drawable.height; ++ + if (new_width == screen_pixmap->drawable.width && + new_height == screen_pixmap->drawable.height) { + } else { +-- +2.9.3 + diff --git a/0003-dix-Make-sure-client-is-not-in-output_pending-chain-.patch b/0003-dix-Make-sure-client-is-not-in-output_pending-chain-.patch deleted file mode 100644 index 4a466a4..0000000 --- a/0003-dix-Make-sure-client-is-not-in-output_pending-chain-.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 717cfd417b7b4be50d73c684b028a20ddcbb568e Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Wed, 2 Nov 2016 13:39:50 -0700 -Subject: [PATCH xserver v2 3/7] 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 -Signed-off-by: Hans de Goede ---- - dix/dispatch.c | 2 +- - include/dixstruct.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dix/dispatch.c b/dix/dispatch.c -index e111377..3d0fe26 100644 ---- a/dix/dispatch.c -+++ b/dix/dispatch.c -@@ -3406,7 +3406,6 @@ CloseDownClient(ClientPtr client) - UngrabServer(client); - } - mark_client_not_ready(client); -- xorg_list_del(&client->output_pending); - BITCLEAR(grabWaiters, client->index); - DeleteClientFromAnySelections(client); - ReleaseActiveGrabs(client); -@@ -3435,6 +3434,7 @@ CloseDownClient(ClientPtr client) - if (ClientIsAsleep(client)) - ClientSignal(client); - ProcessWorkQueueZombies(); -+ output_pending_clear(client); - CloseDownConnection(client); - - /* If the client made it to the Running stage, nClients has -diff --git a/include/dixstruct.h b/include/dixstruct.h -index 3b578f8..d71b0ac 100644 ---- a/include/dixstruct.h -+++ b/include/dixstruct.h -@@ -159,7 +159,7 @@ extern struct xorg_list output_pending_clients; - static inline void - output_pending_mark(ClientPtr client) - { -- if (xorg_list_is_empty(&client->output_pending)) -+ if (!client->clientGone && xorg_list_is_empty(&client->output_pending)) - xorg_list_append(&client->output_pending, &output_pending_clients); - } - --- -2.9.3 - diff --git a/sources b/sources index 05b863d..980cf95 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7547e58c87d18d6d0e157f5d2d04c7c7 xorg-server-1.18.99.902.tar.bz2 +6a4d01e4e5047ab8f556960424ba1fa9 xorg-server-1.19.0.tar.bz2 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 392a17e..ca6f269 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -45,7 +45,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.19.0 -Release: 0.8.rc2%{?gitdate:.%{gitdate}}%{dist} +Release: 1%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -59,8 +59,7 @@ Source0: xorg-server-%{gitdate}.tar.xz Source1: make-git-snapshot.sh Source2: commitid %else -Source0: http://www.x.org/pub/individual/xserver/%{pkgname}-1.18.99.902.tar.bz2 -#Source0: http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2 +Source0: http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2 Source1: gitignore %endif @@ -79,14 +78,14 @@ Source31: xserver-sdk-abi-requires.git Source40: driver-abi-rebuild.sh # Various fixes pending upstream -Patch1: 0001-xwayland-shm-block-signals-during-fallocate.patch -Patch2: 0002-dri2-Sync-i965_pci_ids.h-from-mesa.patch -Patch3: 0003-dix-Make-sure-client-is-not-in-output_pending-chain-.patch -Patch4: 0004-glamor-restore-vfunc-handlers-on-init-failure.patch -Patch5: 0005-xfree86-Remove-redundant-ServerIsNotSeat0-check-from.patch -Patch6: 0006-xfree86-Make-adding-unclaimed-devices-as-GPU-devices.patch -Patch7: 0007-xfree86-Try-harder-to-find-atleast-1-non-GPU-Screen.patch -Patch10: 0001-Fix-segfault-if-xorg.conf.d-is-absent.patch +Patch1: 0004-glamor-restore-vfunc-handlers-on-init-failure.patch +Patch2: 0005-xfree86-Remove-redundant-ServerIsNotSeat0-check-from.patch +Patch3: 0006-xfree86-Make-adding-unclaimed-devices-as-GPU-devices.patch +Patch4: 0007-xfree86-Try-harder-to-find-atleast-1-non-GPU-Screen.patch +Patch5: 0001-Fix-segfault-if-xorg.conf.d-is-absent.patch +Patch6: 0001-xwayland-Fix-use-after-free-of-cursors.patch +Patch7: 0001-randr-rrCheckPixmapBounding-Do-not-substract-crtc-no.patch +Patch8: 0002-randr-rrCheckPixmapBounding-do-not-shrink-the-screen.patch #Patch6044: xserver-1.6.99-hush-prerelease-warning.patch @@ -336,8 +335,7 @@ Xserver source code needed to build VNC server (Xvnc) %prep -#autosetup -N -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} -%autosetup -N -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:1.18.99.902} +%autosetup -N -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} rm -rf .git cp %{SOURCE1} .gitignore # ick @@ -595,6 +593,12 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog +* Wed Nov 23 2016 Olivier Fourdan 1.19.0-1 +- xserver 1.19.0 +- Fix use after free of cursors in Xwayland (rhbz#1385258) +- Fix an issue where some monitors would show only black, or + partially black when secondary GPU outputs are used + * Tue Nov 15 2016 Peter Hutterer 1.19.0-0.8.rc2 - Update device barriers for new master devices (#1384432)