diff --git a/U_vmware-vmwgfx-Don-t-add-pixmaps-to-the-pixmap-list-i.patch b/U_vmware-vmwgfx-Don-t-add-pixmaps-to-the-pixmap-list-i.patch new file mode 100644 index 0000000..6ee1bf2 --- /dev/null +++ b/U_vmware-vmwgfx-Don-t-add-pixmaps-to-the-pixmap-list-i.patch @@ -0,0 +1,32 @@ +From 32562129750077a23f26f2e69adc8403eb24bf3f Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Wed, 3 Sep 2014 07:08:41 -0700 +Subject: [PATCH] vmware/vmwgfx: Don't add pixmaps to the pixmap list if + they're already on it + +This could cause loops through the list to spin indefinitely. +This would most likely occur at VT switches. + +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +--- + vmwgfx/vmwgfx_saa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index b9204c6..bca3d93 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -694,7 +694,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth, + + vmwgfx_pix_resize(pixmap, old_pitch, old_height, old_width); + vmwgfx_pixmap_free_storage(vpix); +- WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps); ++ if (WSBMLISTEMPTY(&vpix->pixmap_list)) ++ WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps); + + return TRUE; + +-- +1.8.4.5 + diff --git a/u_xf86xv.h-cannot-be-included-without-first-including-.patch b/u_xf86xv.h-cannot-be-included-without-first-including-.patch new file mode 100644 index 0000000..aeabe4f --- /dev/null +++ b/u_xf86xv.h-cannot-be-included-without-first-including-.patch @@ -0,0 +1,43 @@ +From 5efdd9808dcd42b95241142a309b3298c54ab4f5 Mon Sep 17 00:00:00 2001 +From: Stefan Dirsch +Date: Mon, 6 Oct 2014 12:52:16 +0200 +Subject: [PATCH] xf86xv.h cannot be included without first including + xorg-server.h. + +Without this the build fails on systems with the latest glibc, +throwing this error: + +In file included from /usr/include/string.h:634:0, + from /usr/include/xorg/os.h:53, + from /usr/include/xorg/misc.h:115, + from /usr/include/xorg/screenint.h:50, + from /usr/include/xorg/scrnintstr.h:50, + from /usr/include/xorg/xvdix.h:55, + from /usr/include/xorg/xf86xv.h:32, + from vmwgfx_overlay.c:38: +/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' +strndup(const char *str, size_t n); + +This is caused by HAVE_STRNDUP not being set (it is set from xorg-server.h), +causing os.h to redefine it. + +Signed-off-by: Stefan Dirsch +--- + vmwgfx/vmwgfx_overlay.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/vmwgfx/vmwgfx_overlay.c b/vmwgfx/vmwgfx_overlay.c +index ef1d541..2b05b0e 100644 +--- a/vmwgfx/vmwgfx_overlay.c ++++ b/vmwgfx/vmwgfx_overlay.c +@@ -35,6 +35,7 @@ + */ + + ++#include "xorg-server.h" + #include "xf86xv.h" + #include "fourcc.h" + #define debug_printf(...) +-- +1.8.4.5 + diff --git a/xf86-video-vmware.changes b/xf86-video-vmware.changes index a4ccb1b..79d8367 100644 --- a/xf86-video-vmware.changes +++ b/xf86-video-vmware.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Oct 14 09:23:37 UTC 2014 - sndirsch@suse.com + +- U_vmware-vmwgfx-Don-t-add-pixmaps-to-the-pixmap-list-i.patch + * prevent endless looping during Xserver reset (bnc#900884) + +------------------------------------------------------------------- +Mon Oct 6 10:55:58 UTC 2014 - sndirsch@suse.com + +- u_xf86xv.h-cannot-be-included-without-first-including-.patch + * include xorg-server.h before xf86xv.h in order to fix + build with latest glibc + ------------------------------------------------------------------- Wed May 7 09:55:35 UTC 2014 - sndirsch@suse.com diff --git a/xf86-video-vmware.spec b/xf86-video-vmware.spec index 9d289db..50123c0 100644 --- a/xf86-video-vmware.spec +++ b/xf86-video-vmware.spec @@ -25,6 +25,8 @@ Group: System/X11/Servers/XF86_4 Url: http://xorg.freedesktop.org/ #http://xorg.freedesktop.org/releases/individual/driver/ Source0: %{name}-%{version}.tar.bz2 +Patch0: u_xf86xv.h-cannot-be-included-without-first-including-.patch +Patch1: U_vmware-vmwgfx-Don-t-add-pixmaps-to-the-pixmap-list-i.patch ExclusiveArch: %ix86 x86_64 BuildRequires: pkg-config BuildRequires: pkgconfig(fontsproto) @@ -49,6 +51,8 @@ vmware is an Xorg driver for VMware virtual video cards. %prep %setup -q +%patch0 -p1 +%patch1 -p1 %build %configure