summaryrefslogtreecommitdiff
path: root/extra/xawtv/xawtv-3.95-no-dga.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xawtv/xawtv-3.95-no-dga.patch')
-rw-r--r--extra/xawtv/xawtv-3.95-no-dga.patch120
1 files changed, 0 insertions, 120 deletions
diff --git a/extra/xawtv/xawtv-3.95-no-dga.patch b/extra/xawtv/xawtv-3.95-no-dga.patch
deleted file mode 100644
index 4509d4ba0..000000000
--- a/extra/xawtv/xawtv-3.95-no-dga.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -up xawtv-3.95/console/v4l-conf.c~ xawtv-3.95/console/v4l-conf.c
---- xawtv-3.95/console/v4l-conf.c~ 2008-08-03 22:22:01.000000000 +0200
-+++ xawtv-3.95/console/v4l-conf.c 2008-08-03 22:34:33.000000000 +0200
-@@ -221,6 +221,21 @@ displayinfo_x11(Display *dpy, struct DIS
- }
- }
-
-+#ifdef HAVE_LIBXXF86DGA
-+static int dga_error = 0;
-+static int dga_error_base;
-+static int (*orig_xfree_error_handler)(Display *, XErrorEvent *);
-+
-+static int dga_error_handler(Display *d, XErrorEvent *e)
-+{
-+ if (e->error_code == (dga_error_base + XF86DGANoDirectVideoMode)) {
-+ dga_error = 1;
-+ return 0;
-+ }
-+ return orig_xfree_error_handler(d, e);
-+}
-+#endif
-+
- static void
- displayinfo_dga(Display *dpy, struct DISPLAYINFO *d)
- {
-@@ -228,7 +243,7 @@ displayinfo_dga(Display *dpy, struct DIS
- int width,bar,foo,major,minor,flags=0;
- void *base = NULL;
-
-- if (!XF86DGAQueryExtension(dpy,&foo,&bar)) {
-+ if (!XF86DGAQueryExtension(dpy,&foo,&dga_error_base)) {
- fprintf(stderr,"WARNING: Your X-Server has no DGA support.\n");
- return;
- }
-@@ -240,7 +255,14 @@ displayinfo_dga(Display *dpy, struct DIS
- fprintf(stderr,"WARNING: No DGA support available for this display.\n");
- return;
- }
-+ orig_xfree_error_handler = XSetErrorHandler(dga_error_handler);
- XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(void*)&base,&width,&foo,&bar);
-+ XSync(dpy, 0);
-+ XSetErrorHandler(orig_xfree_error_handler);
-+ if (dga_error) {
-+ fprintf(stderr,"WARNING: No DGA direct video mode for this display.\n");
-+ return;
-+ }
- d->bpl = width * d->bpp/8;
- d->base = base;
- #else
-diff -up xawtv-3.95/libng/plugins/drv0-v4l2.c~ xawtv-3.95/libng/plugins/drv0-v4l2.c
---- xawtv-3.95/libng/plugins/drv0-v4l2.c~ 2008-08-03 21:52:41.000000000 +0200
-+++ xawtv-3.95/libng/plugins/drv0-v4l2.c 2008-08-03 22:23:01.000000000 +0200
-@@ -618,7 +618,7 @@ v4l2_setupfb(void *handle, struct ng_vid
- return -1;
-
- /* double-check settings */
-- if (NULL != base && h->ov_fb.base != base) {
-+ if ((NULL != base && h->ov_fb.base != base) || h->ov_fb.base == NULL) {
- fprintf(stderr,"v4l2: WARNING: framebuffer base address mismatch\n");
- fprintf(stderr,"v4l2: me=%p v4l=%p\n",base,h->ov_fb.base);
- h->ov_error = 1;
-diff -up xawtv-3.95/x11/xt.c~ xawtv-3.95/x11/xt.c
---- xawtv-3.95/x11/xt.c~ 2008-08-03 22:22:11.000000000 +0200
-+++ xawtv-3.95/x11/xt.c 2008-08-03 22:35:14.000000000 +0200
-@@ -1247,18 +1247,21 @@ FilterAction(Widget widget, XEvent *even
- }
-
- /*----------------------------------------------------------------------*/
-+#ifdef HAVE_LIBXXF86DGA
-+static int xfree_dga_error_base;
-+#endif
-
- void
- xfree_dga_init(Display *dpy)
- {
- #ifdef HAVE_LIBXXF86DGA
-- int flags,foo,bar,ma,mi;
-+ int flags,foo,ma,mi;
-
- if (!do_overlay)
- return;
-
- if (args.dga) {
-- if (XF86DGAQueryExtension(dpy,&foo,&bar)) {
-+ if (XF86DGAQueryExtension(dpy,&foo,&xfree_dga_error_base)) {
- XF86DGAQueryDirectVideo(dpy,XDefaultScreen(dpy),&flags);
- if (flags & XF86DGADirectPresent) {
- XF86DGAQueryVersion(dpy,&ma,&mi);
-@@ -1348,6 +1351,19 @@ xfree_xinerama_init(Display *dpy)
- #endif
- }
-
-+#ifdef HAVE_LIBXXF86DGA
-+static int (*orig_xfree_error_handler)(Display *, XErrorEvent *);
-+
-+static int xfree_dga_error_handler(Display *d, XErrorEvent *e)
-+{
-+ if (e->error_code == (xfree_dga_error_base + XF86DGANoDirectVideoMode)) {
-+ have_dga = 0;
-+ return 0;
-+ }
-+ return orig_xfree_error_handler(d, e);
-+}
-+#endif
-+
- void
- grabber_init()
- {
-@@ -1358,8 +1374,11 @@ grabber_init()
- #ifdef HAVE_LIBXXF86DGA
- if (have_dga) {
- int bar,fred;
-+ orig_xfree_error_handler = XSetErrorHandler(xfree_dga_error_handler);
- XF86DGAGetVideoLL(dpy,XDefaultScreen(dpy),(void*)&base,
- &screen.bytesperline,&bar,&fred);
-+ XSync(dpy, 0);
-+ XSetErrorHandler(orig_xfree_error_handler);
- }
- #endif
- if (!do_overlay) {