summaryrefslogtreecommitdiff
path: root/extra/xf86-video-sis
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xf86-video-sis')
-rw-r--r--extra/xf86-video-sis/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch66
-rw-r--r--extra/xf86-video-sis/PKGBUILD11
2 files changed, 73 insertions, 4 deletions
diff --git a/extra/xf86-video-sis/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch b/extra/xf86-video-sis/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch
new file mode 100644
index 000000000..90e93b403
--- /dev/null
+++ b/extra/xf86-video-sis/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch
@@ -0,0 +1,66 @@
+From c0ff117d3e19e14829a21d89673e03f9d6389043 Mon Sep 17 00:00:00 2001
+From: Jan de Groot <jgc@archlinux.org>
+Date: Thu, 22 Nov 2012 15:04:42 +0100
+Subject: [PATCH] Disable UploadToScreen and DownloadFromScreen. These
+ functions use invalid pointers, causing crashes. As the
+ driver is technically unmaintained, it's better to rely on
+ software fallback than trying to fix the driver
+ implementation.
+
+---
+ src/sis300_accel.c | 2 ++
+ src/sis310_accel.c | 2 ++
+ src/sis_accel.c | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/sis300_accel.c b/src/sis300_accel.c
+index af0527d..2162d76 100644
+--- a/src/sis300_accel.c
++++ b/src/sis300_accel.c
+@@ -1273,9 +1273,11 @@ SiS300AccelInit(ScreenPtr pScreen)
+
+ /* Composite not supported */
+
++#if 0
+ /* Upload, download to/from Screen */
+ pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+
+ } else {
+
+diff --git a/src/sis310_accel.c b/src/sis310_accel.c
+index 1a6f639..20106ce 100644
+--- a/src/sis310_accel.c
++++ b/src/sis310_accel.c
+@@ -2303,9 +2303,11 @@ SiS315AccelInit(ScreenPtr pScreen)
+ }
+ #endif
+
++#if 0
+ /* Upload, download to/from Screen */
+ pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+
+ }
+ #endif
+diff --git a/src/sis_accel.c b/src/sis_accel.c
+index c2c24c7..bb08296 100644
+--- a/src/sis_accel.c
++++ b/src/sis_accel.c
+@@ -801,9 +801,11 @@ SiSAccelInit(ScreenPtr pScreen)
+
+ /* Composite not supported */
+
++#if 0
+ /* Upload, download to/from Screen */
+ pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+
+ }
+ #endif /* EXA */
+--
+1.8.0
+
diff --git a/extra/xf86-video-sis/PKGBUILD b/extra/xf86-video-sis/PKGBUILD
index a44bde11c..fb0840cb0 100644
--- a/extra/xf86-video-sis/PKGBUILD
+++ b/extra/xf86-video-sis/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 168588 2012-10-13 11:45:51Z andyrtr $
+# $Id: PKGBUILD 171889 2012-11-22 14:24:06Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sis
pkgver=0.10.7
-pkgrel=2
+pkgrel=3
pkgdesc="X.org SiS video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
@@ -14,11 +14,14 @@ conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERS
optdepends=('sis-dri: DRI1 support from community repo')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('be2eb6acba081e88dabc5be9db379e3da89a4d4edeb68064f204bf343a411cd0')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ 0001-Disable-UploadToScreen-and-DownloadFromScreen.patch)
+sha256sums=('be2eb6acba081e88dabc5be9db379e3da89a4d4edeb68064f204bf343a411cd0'
+ '3108c60b3030c894fbdb1426b05d7a8281e5fa4f385e1a80e22c8813a3fb6f5b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch"
./configure --prefix=/usr
make
}