diff --git a/Fix_for_server_1.19.patch b/Fix_for_server_1.19.patch index 000ab93..7ed47a2 100644 --- a/Fix_for_server_1.19.patch +++ b/Fix_for_server_1.19.patch @@ -2,12 +2,14 @@ Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h =================================================================== --- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.h +++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h -@@ -52,6 +52,8 @@ +@@ -52,6 +52,10 @@ #ifndef _VBOXVIDEO_H_ #define _VBOXVIDEO_H_ ++#if XORG_VERSION_CURRENT >= 11900000 +#include +typedef __sigset_t sigset_t; ++#endif #include #include #include "version-generated.h" @@ -15,12 +17,15 @@ Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c =================================================================== --- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/helpers.c +++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c -@@ -82,7 +82,7 @@ void vbvxSetIntegerPropery(ScrnInfoPtr p +@@ -82,7 +82,11 @@ void vbvxSetIntegerPropery(ScrnInfoPtr p property_name = MakeAtom(pszName, strlen(pszName), TRUE); VBVXASSERT(property_name != BAD_RESOURCE, ("Failed to set atom \"%s\"\n", pszName)); -- ChangeWindowProperty(ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); ++#if XORG_VERSION_CURRENT >= 11900000 + dixChangeWindowProperty(serverClient, ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); ++#else + ChangeWindowProperty(ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); ++#endif } void vbvxReprobeCursor(ScrnInfoPtr pScrn) @@ -28,26 +33,30 @@ Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c =================================================================== --- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.c +++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c -@@ -1229,8 +1229,7 @@ static Bool VBOXScreenInit(ScreenPtr pSc +@@ -1229,7 +1229,11 @@ static Bool VBOXScreenInit(ScreenPtr pSc updateGraphicsCapability(pScrn, TRUE); /* Register block and wake-up handlers for getting new screen size hints. */ -- RegisterBlockAndWakeupHandlers(vboxBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); -- ++#if XORG_VERSION_CURRENT >= 11900000 + RegisterBlockAndWakeupHandlers(vboxBlockHandler, (ServerWakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); ++#else + RegisterBlockAndWakeupHandlers(vboxBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); ++#endif + /* software cursor */ miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); - Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c =================================================================== --- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/pointer.c +++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c -@@ -15,6 +15,8 @@ +@@ -15,6 +15,10 @@ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. */ ++#if XORG_VERSION_CURRENT >= 11900000 +#include +typedef __sigset_t sigset_t; ++#endif #include #ifndef PCIACCESS @@ -55,12 +64,14 @@ Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c =================================================================== --- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/edid.c +++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c -@@ -44,6 +44,8 @@ +@@ -44,6 +44,10 @@ * Dave Airlie */ ++#if XORG_VERSION_CURRENT >= 11900000 +#include +typedef __sigset_t sigset_t; ++#endif #include #include #include diff --git a/virtualbox.changes b/virtualbox.changes index c34e7b2..032fe0a 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Dec 5 22:34:34 UTC 2016 - Larry.Finger@lwfinger.net + +- I now have the necessary preprocessor symbol to modify the source depending on whether the server is 1.19.0 or greater. + It is no longer necessary to detect the server version in the spec file, thus the solution is cleaner. + ------------------------------------------------------------------- Mon Dec 5 17:03:34 UTC 2016 - Larry.Finger@lwfinger.net diff --git a/virtualbox.spec b/virtualbox.spec index 4f71602..752ef98 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -307,9 +307,6 @@ This package contains icons for guest desktop files that were created on the des ########################################### %prep -xserver_str=`rpm -q xorg-x11-server` -XSERVER_VERSION=`expr match "$xserver_str" '.*\(\([0-9]\.[0-9][0-9]\)\)'` -#XSERVER_VERSION=`echo $XSERVER_VERSION | sed -e 's/\.//g'` %setup -q -n VirtualBox-%{version} %patch1 -p1 %patch2 -p1 @@ -334,11 +331,7 @@ XSERVER_VERSION=`expr match "$xserver_str" '.*\(\([0-9]\.[0-9][0-9]\)\)'` %patch113 -p1 %patch114 -p1 %patch115 -p1 -if [ "$XSERVER_VERSION" = "1.18" ] ; then -echo "Patch 116 not applied" -else %patch116 -p1 -fi #copy user manual cp %{SOURCE1} UserManual.pdf